2016-04-08 3 views
-2

У меня есть страница с несколькими скрытыми div, которые перетаскиваются щелчком по соответствующей кнопке. Довольно простой материал jQuery. Теперь то, что я хотел бы сделать, это иметь относительную гиперссылку (например,) в одном из этих div, которая открывает другой div и прокручивает страницу к этому элементу. Я могу заставить его прокрутить до видимого, когда ссылка не связана с событием в jQuery, и я могу открыть div, когда ссылка подключается к jQuery. Но я хочу сделать оба одновременно!Как показать div, а затем прокрутить до него

Вот мой обработчик

$('.B2BHL').click(function() { 
    var month = this.href.substring(this.href.indexOf('#') + 1); 
    //$('#' + month + 'div').show(); 
    window.location.href = this.href; 
    }); 

Когда show() вызова закомментирован, она прокручивается. Когда это раскомментирована, он открывает DIV, но не прокручивается к нему

я нашел следующие два вопроса на переполнение стека:

Scroll to a div using jquery

Can I call jquery click() to follow an <a> link if I haven't bound an event handler to it with bind or click already?

Но ни один не работает меня. Я использую IE 11. Может ли кто-нибудь посоветовать?

Благодаря

+0

Лучше, если бы вы могли создать аналогичную демонстрацию, используя ** Snippet ** или ** [JSFiddle] (http://www.jsfiddle.net) **. – divy3993

ответ

0

на самом деле, я вернулся и посмотрел на первую ссылку (Scroll to a div using jquery) я отправил, попробовал еще раз, и он работал

$('.B2BHL').click(function() { 
    var idx = this.href.indexOf('#'); 
    var month = this.href.substring(this.href.indexOf('#') + 1); 
    var href = this.href; 
    $('#' + month + 'div').show({ 
     complete: function() { 
     goToByScroll(month + 'div'); 
     } 
    }); 
    }); 

Прошу прощения, я не занимался этой работой. И спасибо за помощь всем, кто ответил

0

Я думаю, что проблема может быть в функции show(), вы можете попытаться изменить код немного так меняется window.location.href когда показать функция завершена, как:

$('.B2BHL').click(function() { 
    var month = this.href.substring(this.href.indexOf('#') + 1); 
    var href = this.href; 
    $('#' + month + 'div').show({ 
     complete: function() { 
      window.location.href = href; 
     } 
    });  
}); 
+0

это не сработало, извините – ControlAltDel

Смежные вопросы