Изменить вариант и повторно инициализировать


2 принят
+200

После копания я вышел с этим решением: -

во-первых, вам нужно добавить $ ( '.frontpage' ). jscroll ({ // ваши существующие настройки, callback : function () { if ( $ ( 'div.next a' ). is ( ": visible" )) { $ ( '.frontpage' ). jscroll . destroy (); $ ( 'div.next a' ). off ( 'click' ); } } }); выполните следующие действия: -

onclick="loadAllClick(event);"

Второй Добавить OnClick атрибут нагрузки Все в тег (только на странице , где нагрузка все метка видна )

  <script>
      var loadAllClick = function(e) {
           e.preventDefault();
           $('.frontpage').jscroll( //your settings 
                               );
          }
  </script>

и функция обработчика должна быть такой: -

$(el).off()

и вот полный рабочий образец плункера. Надеюсь, это ответит на ваш вопрос.


1

Вы можете использовать callbackметод и параметр плагина callback.

Протестировано на странице плагина http://jscroll.com/ .

Он может выглядеть примерно так:

var counter = 0;
function scrollerCallback(){
  counter++;
  if(counter<2){return;}
    var el = $j('div.next a'); //Your 'next' selector
    el.off()
    el.on('click',function(e){
      e.preventDefault(); // we don't want the browser to go to redirect
      // Add your code to show the rest of the comments here.
  });
}

А затем вызовите bind таким же образом, но добавьте обратный вызов:

$j('.frontpage').jscroll({
    loadingHtml: '<div style="text-align: center;"><img width="50" src="ring-alt-1.gif" alt="Loading" /></div>',
    ...
    callback:scrollerCallback,
    autoTriggerUntil: 1
});

1

В своей функции CallBack попробуйте использовать следующее:

var counter = 0;
function scrollerCallback(){
  counter++;
  if(counter<2){return;}
    var el = $j(document).find('div.next a');
    el.on('click',function(e){

      e.preventDefault();
      console.log("This call gets executed!");

      $j('.frontpage').jscroll({
        autoTrigger: false,
        autoTriggerUntil: false
      });

  });
}

Что происходит, когда вы это делаете? Думаю, вам нужно изменить библиотеку, чтобы это работало, но я еще не совсем уверен ...

JavaScript, JQuery,

javascript,jquery,

3

Ответов: 3


2 принят
+200

После копания я вышел с этим решением: -

во-первых, вам нужно добавить $ ( '.frontpage' ). jscroll ({ // ваши существующие настройки, callback : function () { if ( $ ( 'div.next a' ). is ( ": visible" )) { $ ( '.frontpage' ). jscroll . destroy (); $ ( 'div.next a' ). off ( 'click' ); } } }); выполните следующие действия: -

onclick="loadAllClick(event);"

Второй Добавить OnClick атрибут нагрузки Все в тег (только на странице , где нагрузка все метка видна )

  <script>
      var loadAllClick = function(e) {
           e.preventDefault();
           $('.frontpage').jscroll( //your settings 
                               );
          }
  </script>

и функция обработчика должна быть такой: -

$(el).off()

и вот полный рабочий образец плункера. Надеюсь, это ответит на ваш вопрос.


1

Вы можете использовать callbackметод и параметр плагина callback.

Протестировано на странице плагина http://jscroll.com/ .

Он может выглядеть примерно так:

var counter = 0;
function scrollerCallback(){
  counter++;
  if(counter<2){return;}
    var el = $j('div.next a'); //Your 'next' selector
    el.off()
    el.on('click',function(e){
      e.preventDefault(); // we don't want the browser to go to redirect
      // Add your code to show the rest of the comments here.
  });
}

А затем вызовите bind таким же образом, но добавьте обратный вызов:

$j('.frontpage').jscroll({
    loadingHtml: '<div style="text-align: center;"><img width="50" src="ring-alt-1.gif" alt="Loading" /></div>',
    ...
    callback:scrollerCallback,
    autoTriggerUntil: 1
});

1

В своей функции CallBack попробуйте использовать следующее:

var counter = 0;
function scrollerCallback(){
  counter++;
  if(counter<2){return;}
    var el = $j(document).find('div.next a');
    el.on('click',function(e){

      e.preventDefault();
      console.log("This call gets executed!");

      $j('.frontpage').jscroll({
        autoTrigger: false,
        autoTriggerUntil: false
      });

  });
}

Что происходит, когда вы это делаете? Думаю, вам нужно изменить библиотеку, чтобы это работало, но я еще не совсем уверен ...

JavaScript, JQuery,
Похожие вопросы