我搜索高低,但没有找到帮助我特定情况的帖子。我是jQuery的新手,喜欢它的广泛用途。我的手风琴脚本有问题,我需要添加ScrollTo,这样当一个部分被选中时,如果它在视图上方,它会向上滚动窗口。我希望这是有道理的。谢谢你的帮助。
<script type="text/javascript">
/* <![CDATA[ */
jQuery().ready(function(){
jQuery('#leftnav-navigation').accordion({
active: false,
header: '.head',
navigation: true,
collapsible: true,
animated: 'easeslide',
autoheight: false,
alwaysOpen: false,
});
var accordions = jQuery('#leftnav-navigation');
jQuery('#switch select').change(function() {
accordions.accordion("activate", this.selectedIndex-1);
});
jQuery('#close').click(function() {
accordions.accordion("activate", -1);
});
jQuery('#switch2').change(function() {
accordions.accordion("activate", this.value);
});
jQuery('#enable').click(function() {
accordions.accordion("enable");
});
jQuery('#disable').click(function() {
accordions.accordion("disable");
});
jQuery('#remove').click(function() {
accordions.accordion("destroy");
wizardButtons.unbind("click");
});
return false;
});
/* ]]> */
</script>
感谢ckaufman的帮助。这是最终的工作代码。我希望这可以帮助有需要的人。
<script type="text/javascript">
/* <![CDATA[ */
jQuery().ready(function(){
jQuery('#leftnav-navigation').accordion({
active: false,
header: '.head',
navigation: true,
collapsible: true,
animated: 'easeslide',
autoheight: false,
alwaysOpen: false,
});
var accordions = jQuery('#leftnav-navigation');
jQuery('#switch select').change(function() {
accordions.accordion("activate", this.selectedIndex-1);
});
jQuery('#close').click(function() {
accordions.accordion("activate", -1);
});
jQuery('#switch2').change(function() {
accordions.accordion("activate", this.value);
});
jQuery('#enable').click(function() {
accordions.accordion("enable");
});
jQuery('#disable').click(function() {
accordions.accordion("disable");
});
jQuery('#remove').click(function() {
accordions.accordion("destroy");
wizardButtons.unbind("click");
});
jQuery('#leftnav-navigation').click(
function() {
var window_top = $(window).scrollTop();
var div_top = $(this).offset().top;
if (window_top > div_top){
$('html, body').animate({scrollTop:div_top}, 300);
}
});
return false;
});
/* ]]> */
</script>
答案 0 :(得分:1)
我认为这些方面的内容可能有用。我会解释一下,也许你可以通过一些调整来实现它。
jQuery('#divID').click(
function() {
var window_top = $(window).scrollTop();
var div_top = $(this).offset().top;
if (window_top > div_top){
$('html, body').animate({scrollTop:div_top}, 300);
}
});
点击绑定将检测'div_top'和'window_top'的事件...如果div位于window_top之上,它将滚动到div_top的位置。值得一试,希望它有所帮助。
答案 1 :(得分:0)
实际上,我已经这样做了......
您需要将jQuery的scrollTo.js添加到项目中,然后将ui.accordion.js
文件替换为所提供的JSFiddle中的文件:http://jsfiddle.net/Jaybles/6EWAF/