Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 创建保存状态的手风琴_Jquery_Url_Accordion - Fatal编程技术网

Jquery 创建保存状态的手风琴

Jquery 创建保存状态的手风琴,jquery,url,accordion,Jquery,Url,Accordion,我已经写了一些代码来为我的网站创建一个手风琴。我的问题是,我想让用户与其他人共享(复制粘贴)url,让他们看到与共享该url的人打开的手风琴项目相同。现在,我的代码可以工作了,但是如果页面太长,它会跳转到手风琴项目的位置。这造成了我希望避免的丑陋效果。理想情况下,我会操纵URL,而无需单击链接 以下是我现在拥有的: HTML: 我创建了一个代码笔来说明我的意思: 您可以使用return false来阻止链接的默认操作(滚动到锚点) 因此,您必须动态更改哈希: window.location.h

我已经写了一些代码来为我的网站创建一个手风琴。我的问题是,我想让用户与其他人共享(复制粘贴)url,让他们看到与共享该url的人打开的手风琴项目相同。现在,我的代码可以工作了,但是如果页面太长,它会跳转到手风琴项目的位置。这造成了我希望避免的丑陋效果。理想情况下,我会操纵URL,而无需单击链接

以下是我现在拥有的:

HTML:

我创建了一个代码笔来说明我的意思:

您可以使用
return false
来阻止链接的默认操作(滚动到锚点)

因此,您必须动态更改哈希:

window.location.hash = '#' + $(this).attr('id');
您可能还希望使用平滑滚动来防止“跳转”到位置,但仍然可以为用户滚动到右侧幻灯片:您可以使用
$('html,body')。动画({scrollTop:…})slideDown()
动画结束后的code>,如下所示:

.slideDown(function(){
    $('html,body').animate({
        scrollTop: $(this).parent().offset().top
    }, 500);
})
下面是一个带有修改示例的jsbin:(我使用jsbin是因为我在codepen中遇到了哈希问题):


谢谢您的回复!对不起,也许我说得不够清楚。英语不是我的第一语言。实际上,我想防止“跳转”效应。是否平滑滚动。但是,
window.location.hash='#'+$(this.attr('id')对我有帮助。谢谢你。回家后我会接受你的回答。没问题,平滑滚动只是一个建议,但是
返回false
和哈希动态修改应该可以满足你的需要;)但是,如果这不符合预期,请告诉我!
window.location.hash = '#' + $(this).attr('id');
.slideDown(function(){
    $('html,body').animate({
        scrollTop: $(this).parent().offset().top
    }, 500);
})