我有以下功能:
var jump=function(e)
{
if (e){
e.preventDefault();
var target = $(this).attr("href");
}else{
var target = location.hash;
}
$('html,body').animate(
{
scrollTop: $(target).offset().top
},2000,function()
{
location.hash = target;
});
}
$('html, body').hide();
$(document).ready(function()
{
$('a[href^=#]').bind("click", jump);
if (location.hash){
setTimeout(function(){
$('html, body').scrollTop(0).show();
jump();
}, 0);
}else{
$('html, body').show();
}
});
允许滚动到特定的div元素
<div id="anchor_element">blabla</div>
如果我点击链接:
<a href="#anchor_element">Scroll here</a>
我只希望在html链接中包含特定的rel属性(例如“ myscroll”)时,才能实现上述功能:
<a href="#anchor_element" rel="myscroll">Scroll here</a>
如何修改此模式下的工作功能?
谢谢
最佳答案
尝试Attribute Equals Selector [name="value"]
$('a[href^=#][rel="myscroll"]').bind("click", jump);
Has Attribute Selector [name]
如果希望它与具有
rel
属性的所有元素一起使用$('a[href^=#][rel]').bind("click", jump);
更新资料
$('a[href^=#],a[rel="myscroll"]').bind("click", jump);
//^ works for both a start with # and with rel="myscroll"
关于javascript - jQuery只滚动与rel属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21887451/