Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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
Javascript 如何使用切换从url添加和删除值?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用切换从url添加和删除值?

Javascript 如何使用切换从url添加和删除值?,javascript,jquery,Javascript,Jquery,我有以下代码,当用户单击toggle以显示内容时,我想向url()添加一个哈希和id。关闭后,我想移除#2111 如何使用切换来实现这一点 CSS JQUERY $(document).ready(function () { var $content = $("div.moreinfo").hide(); $(".toggle").on("click", function (e) { $(this).toggleC

我有以下代码,当用户单击toggle以显示内容时,我想向url()添加一个哈希和id。关闭后,我想移除#2111

如何使用切换来实现这一点

CSS

JQUERY

$(document).ready(function () {
            var $content = $("div.moreinfo").hide();

            $(".toggle").on("click", function (e) {
                $(this).toggleClass("expanded");
                if($(this).hasClass('expanded')) {
                    $("div.plus").hide().removeClass("closed");
                    $("div.minus").show().addClass("opened");   

                } else {

                    $("div.plus").show().addClass("closed");    
                    $("div.minus").hide().removeClass("opened");


                }
                $content.slideToggle();

            });
        });

您只需将
location.hash
设置为空字符串:

location.hash = '';
或者将其设置为一个值:

$(document).ready(function () {
    var $content = $("div.moreinfo").hide();
    $(".toggle").on("click", function (e) {
        $(this).toggleClass("expanded");
        if($(this).hasClass('expanded')) {
           location.hash = someValue;
        } else {
           location.hash = '';
        }
        $content.slideToggle();

    });
});

谢谢,我更新了你的代码,但唯一的问题是它没有删除#。在添加#somevalue之后。因为没有从url中删除哈希。。它在页面上跳转..有没有办法删除散列,所以当我点击togle close open它自己跳转..没问题!如果不重新加载页面,就无法从url中删除哈希。也许您可以将希望用户滚动到的元素设置为id,而不是设置为
'
,您可以将其设置为该id
targetElement
$(document).ready(function () {
    var $content = $("div.moreinfo").hide();
    $(".toggle").on("click", function (e) {
        $(this).toggleClass("expanded");
        if($(this).hasClass('expanded')) {
           location.hash = someValue;
        } else {
           location.hash = '';
        }
        $content.slideToggle();

    });
});