16
回答
a标签先跳转再执行onclick事件要怎么实现啊Q.Q?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

html:

<li id="abc"><a href="2.html" onclick=“classAct('abc')”>公司介绍</a></li>

js:

function classAct(str) {
            $("li#" + str).addClass("current").siblings("li").removeClass("current"); 
        }

然后现在的状态是可以跳转,但是那个onclick的事件没有显示出来T.T弄了好久,上网搜了好久,都没有搞出来,求大神指点,要怎么样才能先跳转,再执行onclick事件啊

举报
EchoZ
发帖于3年前 16回/7K+阅
共有16个答案 最后回答: 3年前

这TM就不是js该干的事,什么addClass。。。。。当前页的js怎么可能控制跳出后的新页面。。。

正确方法是用你们的服务器端语言比如php,java,python之类来处理。

链接上带着参数,直接在目标页面里边把该出现的class输出出来。

function classAct(str) {

            $("li#" + str).addClass("current").siblings("li").removeClass("current"); 

        window.location.href="2.html"

        }

引用来自“1哥”的评论

function classAct(str) {

            $("li#" + str).addClass("current").siblings("li").removeClass("current"); 

        window.location.href="2.html"

        }
那如果我是有好几个像这样
<li id="a"><a href="1.html" onclick=“classAct('a')”>首页</a></li>
<li id="abc"><a href="2.html" onclick=“classAct('abc')”>公司介绍</a></li>
<li id="bc"><a href="3.html" onclick=“classAct('bc')”>公司</a></li>
那要怎么做啊
function classAct(str) { 
        $("li#"+str).addClass("current").siblings("li").removeClass("current"); 
        window.location.href=$("li#"+str).attr("href");
}

额 这样不行 ,你要取到当前元素的href属性值


引用来自“Mr_Zhou”的评论

function classAct(str) { 
        $("li#"+str).addClass("current").siblings("li").removeClass("current"); 
        window.location.href=$("li#"+str).attr("href");
}

额 这样不行 ,你要取到当前元素的href属性值


还是不行
url都变了,你还想click,我建议你在其它页面写,比如1.htm里哪个li是 current,2.htm哪个li是current,写死来。如果实在要动态就用url传参

引用来自“陈阳阳阳”的评论

url都变了,你还想click,我建议你在其它页面写,比如1.htm里哪个li是 current,2.htm哪个li是current,写死来。如果实在要动态就用url传参
就是现在把这个导航作为一个公共部分提取出来了,然后在其他页面引用,在公共页面点击导航跳到对应的网页,跳可以跳就是不能显示那个背景色,onclick的效果不能出来

引用来自“sxgkwei”的评论

这问题是妹子问的吧。。
是的,刚刚接触这个,还不是很熟练,大神这个要怎么解决啊
页面跳转了,本页的js就失效了,自然的onclick事件就不会执行了。一般都是先执行onclick,再跳转
顶部