Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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
伪造/自动执行“a”;悬停“;在JavaScript/jquery中?_Javascript_Jquery - Fatal编程技术网

伪造/自动执行“a”;悬停“;在JavaScript/jquery中?

伪造/自动执行“a”;悬停“;在JavaScript/jquery中?,javascript,jquery,Javascript,Jquery,我想把这个导航栏放在我的网站上,这里是演示页面: 它使用JavaScript、jQuery和CSS 问题是,在我的网站上,我使用PHP和一个index.PHP?page=home,?index.PHP?page=contact,等等。 而且我不知道如何将工具栏上的项目设置为“活动”[它默认为“主页”]。我查看了代码,发现第一个[主页]有class=“active”。我试着简单地将类移动到第二个项目[“About”],但这只会把所有事情搞砸,将整个动画移动到右侧,而这并不是它的本意。因此,在.cl

我想把这个导航栏放在我的网站上,这里是演示页面: 它使用JavaScript、jQuery和CSS

问题是,在我的网站上,我使用PHP和一个index.PHP?page=home?index.PHP?page=contact,等等。 而且我不知道如何将工具栏上的项目设置为“活动”[它默认为“主页”]。我查看了代码,发现第一个
  • [主页]有class=“active”。我试着简单地将类移动到第二个项目[“About”],但这只会把所有事情搞砸,将整个动画移动到右侧,而这并不是它的本意。因此,在.click()上,它是如何将项目设置为活动的:

    $(this).siblings('li').removeClass('active'); // removes active
    $(this).addClass('active'); 
    
    所以我把id=“target”放在另一个项目上,用Chrome的JS控制台输入相同的代码,只是我用“#target”代替了“this” 但一切都不会立即改变。我必须将鼠标悬停在工具栏上,动画才能开始,查找活动项,然后将动画移动到那里。现在,如果我用它来替换我当前的导航栏[is],如果有人转到
    index.php?page=contact
    ,我就不能激活About链接,这样用户就知道他们在
    About
    页面上了

    所以我的问题是: 有没有办法从一些代码中告诉jQuery我刚刚停留过?[傻瓜] 比如:

    $("#target").fakeEvent("hover");
    

    因此它运行代码[顺便说一句,它附加到$(选择器).hover()中的函数(){}--查看示例中的lavalamp.js文件]?如果你能帮忙,我会非常感激的!谢谢:)

    嗯,
    悬停
    由两个事件组成,
    鼠标移动
    鼠标移动

    您可以通过以下方式触发
    mouseenter
    事件:

    $("#target").mouseenter();
    
    回答:

    答案注释:

    • 使用糟糕的JavaScript。我已经修改了脚本以修复一些bug并优化性能使用我的JavaScript而不是他们的。
    • 要使活动类在页面加载时处于正确位置,只需在调用jQuery之前将活动类应用到您想要的位置。您可能应该在php输出中设置活动类。这也允许在JavaScript无法加载时进行良好的样式降级
    • 该插件禁用单击,因为这是一个示例。您可能希望删除单击函数中的return语句
    您网站上的注释:

    • 隐藏查询。这不是一条硬性规定,但在您的情况下,您应该这样做<代码>http://www.macdonaldfamilysingers.com/?page=contactindex.php?page=contact应该是
      http://www.macdonaldfamilysingers.com/contact/
      。给你
    • 你可能想美化你的桌子。通过删除一些边框和间距,它也将占用更少的视觉空间

    我几乎对此竖起了大拇指,因为它确实回答了他的问题。然而,经过调查,我注意到插件有问题,需要进行一些调整。我不想让他的问题解决,只想让另一个问题出现。酷!这确实回答了我的问题。如果我不能让李维的答案正确的工作,我会涂你的职位。顺便说一句,当我查看帖子时,这意味着什么?我之前添加了这个代码,将活动按钮更改为另一个。它在铬上工作良好。但是在Firefox上,它会使整个动画偏移,因此滑块会向右移动。所以我把代码放在setTimeout(function(){code},100)中,它似乎修复了这个错误。。。然而,它们在我本地的Apache2服务器[Ubuntu11.04 x64]上似乎不起作用,可能是我的配置;然而,如果我不能让它在
    localhost
    上工作,那么开发将非常困难!:P[它确实可以在我的远程服务器上工作。]另一个复杂的问题是,我必须为每个需要&variable=值的页面使用重写引擎,比如页面“时间表”,它可以选择使用&year=2012,或者任意年份。[您仍然可以重写URL,但这似乎只会让事情变得更复杂]现在将尝试您修改过的代码。这真的没那么难。事实上,这使它变得更简单:
    /schedule/2012/
    vs
    ?page=contact&year=2012
    如果规则的复杂性让你担心,那么它也很容易(未经测试):
    重写规则^schedule/([0-9]*)/?$/?page=schedule&year=$1[L,NC]
    。基本上,您处理需要特定值的规则,然后对剩下的内容执行通用规则。哦。。嗯,我会考虑去做的。。但不仅仅是那一页。我不记得我是否在联系人中使用了更多的&vars=vals,或者其他任何页面。我总是可以在我的代码中挖掘并查看。。无论如何我从您发布的URL复制JS、CSS和HTMl,但它不起作用。但是,它会在URL的“结果”框中设置动画。这很奇怪,当我把它放在我的服务器上时,我不明白为什么它不工作。编辑:我已经上传到这里:上传到某个地方,这样我就可以看到你做错了什么。代码显然是有效的,因为JSFIDLE确实有效。顺便说一句,我的意思是“我不明白为什么它不能在我的本地服务器上工作”,顺便说一句,我想你不小心粘贴了两次菜单栏。因此,我将删除一个迭代