Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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/2/jquery/85.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 Jquery:当菜单项不在主页上时更改其地址_Javascript_Jquery - Fatal编程技术网

Javascript Jquery:当菜单项不在主页上时更改其地址

Javascript Jquery:当菜单项不在主页上时更改其地址,javascript,jquery,Javascript,Jquery,我有一个有主菜单的主页。 其中一个名为“联系人”的菜单项使用Jquery激活平滑滚动到同一主页下方的“我们的联系人”块 “联系人”菜单项有一个链接到“我们的联系人”块的href=“#contact js” “我们的联系人”块已分配其id=“contact js” 那个平滑的卷轴非常好用 我的问题是当我离开主页并在我的网站上打开另一页或帖子时,我会在网站的标题部分看到相同的菜单。 当我按下“Contacts”(联系人)菜单项时,不会发生任何事情,因为它用于运行主页上的平滑滚动操作 我的问题是当

我有一个有主菜单的主页。
其中一个名为“联系人”的菜单项使用Jquery激活平滑滚动到同一主页下方的“我们的联系人”块

  • “联系人”菜单项有一个链接到“我们的联系人”块的
    href=“#contact js”
  • “我们的联系人”块已分配其
    id=“contact js”
那个平滑的卷轴非常好用
我的问题是当我离开主页并在我的网站上打开另一页或帖子时,我会在网站的标题部分看到相同的菜单。 当我按下“Contacts”(联系人)菜单项时,不会发生任何事情,因为它用于运行主页上的平滑滚动操作

我的问题是当访问者位于页面或帖子(不在主页)上时,如何为这个“联系人”菜单项(它有一个
class=“menu-item-28”
)分配一个指向我的联系人页面的不同URL

这就是我正在努力编译的内容:

$("#menu-item-27 a").on("click", function(event) {
    if(location.href != "http://www.mynewmedia.dev") { 
  window.location.href = "http://www.mynewmedia.dev/Contacts-Page/";
    }

});
谢谢是进步

致以最诚挚的问候,

Alexander

您只需tom将其更改为包含联系人信息的任何页面的完整url,然后在其后面添加
#contact js

<a href='http://www.pageWithContactInfo.com/#contact-js'>contact us</a>

请查看此w3c链接:

注意“#fragment-uri”,它将滚动到该页面上的元素
id='fragment-uri'


单击该链接以获取更多信息。

如果您真的想让他们进入完整的联系人页面,而不是让他们返回主页联系人部分,请尝试此方法。如果你想把它们带回到主页部分,请遵循“我曾经和一只熊摔跤”的建议


jQuery(文档).ready(函数(){
if(!jQuery('body').hasClass('page-id-XX')){
jQuery('.menu-item-28 a').attr('href','http://www.mynewmedia.dev/Contacts-Page/');
}
});
如果这确实是WordPress,您需要更新页面id XX以使用您的主页的实际主页主体类。我不喜欢猜测,但我相信这是基于你的菜单项类


如果它不是WordPress,那么如果您向
标记中添加一个仅出现在主页上的类,然后将该类名添加到
If(!jQuery('body').hasClass('classNameHere')中,这仍然有效{

这是WordPress吗?我想是的,使用
菜单项-28
类。主页
标签上的页面ID是什么。如果这确实是WordPress,它将类似于
页面ID XX
。你好,安迪!是的,这是WordPress。你好,安迪!非常感谢您的关注。我已经安装了您的脚本。它几乎是正在工作:)仍在尝试解决它。现在,平滑滚动在主页上运行良好。现在,当我打开网站上的另一页并将鼠标悬停在该按钮上时,我确实看到新地址出现!问题是,当我单击该按钮时,它不起作用……很抱歉,我使用了“event.preventDefault();”对于那个按钮。一旦我删除了这行-一切都非常好!非常感谢!太棒了,很高兴听到!如果你满意,请接受这个答案!
<script type="test/javascript">
    jQuery(document).ready(function() {

        if (!jQuery('body').hasClass('page-id-XX')) {
            jQuery('.menu-item-28 a').attr('href', 'http://www.mynewmedia.dev/Contacts-Page/');
        }
    });
</script>