Убейте дважды вызванную функцию и перезагрузите один раз onclick [duplicate]

hash foo 2>/dev/null: работает с zsh, bash, тире и золой.

type -p foo: он работает с zsh, bash и ash (busybox), но не тире (он интерпретирует -p в качестве аргумента.

command -v foo: работает с zsh, bash, тире, но не зоной (busybox) (-ash: command: not found).

Также обратите внимание, что builtin недоступен с ash и dash.

1
задан TARKUS 5 April 2016 в 14:15
поделиться

2 ответа

Предполагая, что вы используете более новую версию lightlider, чем 1.1.3, вы должны иметь возможность .destroy () существующего экземпляра следующим образом:

var slider = $('#lightslider').lightSlider();
slider.destroy();   

Для обеспечения безопасности вам нужно будет проверить слайдер - это что-то, прежде чем вы вызовете метод destroy!

3
ответ дан VorTechS 26 August 2018 в 02:54
поделиться

$("#lightSlider").empty() или $("#lightSlider").html('') по какой-то причине не работали. Экземпляры световых индикаторов продолжали накапливаться с каждым новым представлением формы. Я не знаю почему. Также метод ("#lightSlider").lightslider().destroy() не работал, и это может быть по какой-то нечетной причине, что я не могу определить, может быть, что-то связано с тем, как я манипулирую DOM, я не знаю.

Что, в конечном итоге, заключалось в том, чтобы вставить блок <ul id="lightSlider">...</ul> в блок <div id="carousel-container">...</div>. Затем с каждым новым представлением формы я удалил весь блок #lightSlider с помощью $("#carousel-container").html('');. Затем я динамически воссоздал весь <ul id="lightSlider">...</ul> с новым обновленным контентом. Вот рабочий код:

        $("#carousel-container").html('');
        var lightsliderstring = "<ul id=\"lightSlider\">";
        for(i=1;i<thumbsArray.length;i++){
            lightsliderstring     += "<li>\n";
            if( $("#as_feature").val() ){
                lightsliderstring     += "   <h3>" + $("#as_feature").val() + " photo " + i + "</h3>\n";
            }
            lightsliderstring     += "   <img src=\"/" + thumbsArray[i] + "\" />\n";
            lightsliderstring     += "</li>\n";
        }
        lightsliderstring += "</ul>\n";

        $("#carousel-container").html(lightsliderstring);

        $('#lightSlider').lightSlider({
            auto: true,
            gallery: false,
            item: 1,
            loop: true,
            slideMargin: 0,
            thumbItem: 0
        });
0
ответ дан TARKUS 26 August 2018 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: