2013-02-13 7 views
0

Я не могу сделать свою работу JQuery. Я вставляю код, который должен сделать простую прокрутку вниз до div дальше на странице. Я добавил HTML вокруг тега и jquery.JQuery - прокрутить до div

HTML

<div id="facebookbanner"> 
    <div id="facebookbannertext"> 
     <div id="knapper"> 
      <div class="btn_apps"><a href="#fbeksempler"></a></div> 
      <div class="btn_bestil"><a href="#"></a></div> 
     </div> 
    </div> 
    <div id="facebookbannerbillede"> 
    </div> 
</div> 

Jquery

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script> 

$('#fbeksempler a').on('click', function(evt){ 
    evt.preventDefault(); 
    var target = $(this).attr('href'); 
    $('html, body').stop().animate({scrollTop: $(target).offset().top}, 2000); 
}); 

</script> 
+0

Вы тестируете это локально? – Sven

+0

@ Да, я тестирую локально. – McKeene

ответ

1

Представляется, что основной проблемой является то, что вы настраиваете вашу целевую переменную к строке, когда вы используете метод .attr(). Затем вы пытаетесь прокручивать верхнюю часть этой цели, которая не является объектом jQuery, представляющим элемент DOM.

Я предполагаю, что вы намереваетесь найти объект jQuery где-то на странице с идентификатором, равным href ссылки.

$('#facebookbanner a').on('click', function (evt) { 
    evt.preventDefault(); 
    var contentId = $(this).attr('href'); 
    var content = $(document).find(contentId); 
    $('html, body').stop().animate({ 
     scrollTop: $(content).offset().top 
    }, 2000); 
}); 

jsfiddle

0

Попробуйте оборачивать вашу функциональность в случае DOMReady:

$(function() { 
    $('#fbeksempler a').on('click', function(evt){ 
     evt.preventDefault(); 
     var target = $(this).attr('href'); 
     $('html, body').stop().animate({scrollTop: $(target).offset().top}, 2000); 
    }); 
}); 
0

Я считаю, что проблема заключается в том, что протокол относительные URL-адреса, такие как //ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js не работают при тестировании на местном уровне.
Возможно, попробуйте http://code.jquery.com/jquery-1.9.1.min.js и посмотрите, работает ли это для вас.

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