我的网站上有一个滑动面板.
完成动画后,我就像这样设置哈希
function() {
window.location.hash = id;
}
Run Code Online (Sandbox Code Playgroud)
(这是一个回调,并且id
之前已分配).
这很好用,允许用户为面板添加书签,也可以使非JavaScript版本工作.
但是,当我更新哈希时,浏览器会跳转到该位置.我想这是预期的行为.
我的问题是:我该如何防止这种情况?即如何更改窗口的哈希值,但如果哈希存在则浏览器不会滚动到该元素?某种event.preventDefault()
事情?
我正在使用jQuery 1.4和scrollTo插件.
非常感谢!
这是更改面板的代码.
$('#something a').click(function(event) {
event.preventDefault();
var link = $(this);
var id = link[0].hash;
$('#slider').scrollTo(id, 800, {
onAfter: function() {
link.parents('li').siblings().removeClass('active');
link.parent().addClass('active');
window.location.hash = id;
}
});
});
Run Code Online (Sandbox Code Playgroud) 是否可以使用jQuery滚动到页面上的特定位置?
我想要滚动的位置是否必须具有:
<a name="#123">here</a>
Run Code Online (Sandbox Code Playgroud)
或者它可以移动到特定的DOM ID?
我每次用户靠近文档顶部时都试图向下滚动100px.
当用户靠近文档的顶部时,我执行了函数,但.scrollTo函数不起作用.
我在之前和之后发出警报,检查它是否确实是停止它的线路,只有第一个警报响起,这是代码:
alert("starting");
$.scrollTo({ top: '+=100px', left: '+=0px' }, 800);
alert("finished");
Run Code Online (Sandbox Code Playgroud)
我知道我已经正确链接了jquery页面,因为我正在使用许多其他jquery函数,它们都工作正常.我也试过从上面删除'px',它似乎没有什么区别.
我有一个远远低于页面的h1 ..
<h1 id="scroll-to">TRIGGER EVENT WHEN SCROLLED TO.</h1>
Run Code Online (Sandbox Code Playgroud)
我想在用户滚动到h1时触发警报,或者在浏览器的视图中显示警报.
$('#scroll-to').scroll(function() {
alert('you have scrolled to the h1!');
});
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我已经看到很多关于这个主题的变化的问题,但我正在寻找直接的解决方案:
HTML表单,jQuery验证,需要多个字段.提交表单时,验证会跳转到第一个错误并突出显示它.为了提高可用性,我想滚动到第一个错误字段.但它不断完全破坏验证或抛出scrollTo错误.
我需要使用标准验证插件(http://docs.jquery.com/Plugins/Validation),但任何卷轴都没问题,因为我一直在尝试使用scrollTo(http://flesler.blogspot.com/2007/ 10/jqueryscrollto.html).
示例代码位于http://jsfiddle.net/DtgKQ/1/,任何帮助表示赞赏.
我想检查元素是否可见,如果是,我想向下滚动到它.我试图通过以下jquery来实现:
var j = jQuery.noConflict();
jQuery(document).ready(function($) {
if(j('#element').css('display') == 'block'){
j('body').scrollTo('#target');
};
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
有没有办法加快 的行为速度scrollTo
?
我在黑暗中刺了一下speed
,duration
但不起作用!
window.scrollTo({
top: 1000,
behavior: "smooth"
});
Run Code Online (Sandbox Code Playgroud)
我需要Jquery的scrollTo函数来为这个网站工作:http://cinicraft.com/Silverman/index.html
我尝试了以下内容
$(document).ready(function()
{
$("div.btnLp3").click(function(){
$('body,html').scrollTo('#target-examples', 800, {easing:'elasout'});
});
});
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个:
$(document).ready(function()
{
$("div.btnLp3").click(function(){
$('html, body').animate({ scrollTop: $(window.location.hash).offset().top}, 1000);
});
});
Run Code Online (Sandbox Code Playgroud)
我似乎无法开始scrollTo
工作.有没有人有任何想法?这是我导入的内容:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> </script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"> </script>
Run Code Online (Sandbox Code Playgroud)