2013-05-23 2 views
0

В настоящее время у меня есть два сценария, влияющих друг на друга. Скрипт, показанный снизу, делает гладкий свиток к якорям. Мой второй скрипт ссылается на эффект лайтбокса, используя привязку href #. Могу ли я изменить сценарий ниже, чтобы использовать что-то другое, чем href и #?Якорные конфликтующие скрипты

Javascript

<script src="js/jquery.easing.1.3.js"></script> 
<script> 
$(function() { 
var lengthDiv = $('.desktop').find('li').length; 
var current = 0; 
$('a').bind('click',function(event){ 

var $anchor = $(this); 
current = $anchor.parent().index(); 

$('html, body').stop().animate({ 
    scrollTop: $($anchor.attr('href')).offset().top 
}, 1500,'easeInOutExpo'); 
/* 
if you don't want to use the easing effects: 
$('html, body').stop().animate({ 
    scrollTop: $($anchor.attr('href')).offset().top 
}, 1000); 
*/ 
event.preventDefault(); 
}); 
$(document).keydown(function(e){e.preventDefault()}) 
$(document).keyup(function(e){ 
    var key = e.keyCode; 
    if(key == 38 && current > 0){ 
     $('.desktop').children('li').eq(current - 1).children('a').trigger('click') 
    }else if(key == 40 && current < lengthDiv){ 
     $('.desktop').children('li').eq(current + 1).children('a').trigger('click') 
    } 
}) 
}); 
</script> 

ответ

0

Ваша линия

$('a').bind('click', function(){}) 

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

$('a.scroll').bind('click', function(){}) 

В качестве примера.

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