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 当且仅当通过特定超链接访问页面时,如何在页面加载时执行jQuery函数?_Javascript_Jquery - Fatal编程技术网

Javascript 当且仅当通过特定超链接访问页面时,如何在页面加载时执行jQuery函数?

Javascript 当且仅当通过特定超链接访问页面时,如何在页面加载时执行jQuery函数?,javascript,jquery,Javascript,Jquery,我有一个简单的链接,如下所示: <a href="page2.html">Go to Page 2</a> $("#object-selector div").hover( function () { $(this).animate({borderTopColor: '#fdcc06', borderRightColor: '#fdcc06', borderBottomColor: '#fdcc06', borderLeftColor: '#fd

我有一个简单的链接,如下所示:

<a href="page2.html">Go to Page 2</a>
$("#object-selector div").hover(
    function () {
        $(this).animate({borderTopColor: '#fdcc06', borderRightColor: '#fdcc06', borderBottomColor: '#fdcc06', borderLeftColor: '#fdcc06'}, 200).children().animate({backgroundColor: '#fed944', color: '#351e00'}, 200);
    }, 
    function () {
        $(this).animate({borderTopColor: '#FFF', borderRightColor: '#FFF', borderBottomColor: '#FFF', borderLeftColor: '#FFF'}, 200).children().animate({backgroundColor: '#af081f', color: '#FFF'}, 200);
    }
);

但是,如果未单击链接就导航到页面,则不应执行该函数。有办法吗?

如果您想在客户端完成所有操作,可以在URL中附加一个哈希

<a href="page2.html#hover">Go to Page 2</a>

然后使用以下代码

<script>
if(window.location.hash === '#hover') {
    $(function() {
        $("#object-selector div").hover( ... , ... );
    });
}
</script>

if(window.location.hash=='#hover'){
$(函数(){
$(“#对象选择器div”)。悬停(…,…);
});
}

如果您想在客户端完成所有操作,可以在URL中附加一个哈希

<a href="page2.html#hover">Go to Page 2</a>

然后使用以下代码

<script>
if(window.location.hash === '#hover') {
    $(function() {
        $("#object-selector div").hover( ... , ... );
    });
}
</script>

if(window.location.hash=='#hover'){
$(函数(){
$(“#对象选择器div”)。悬停(…,…);
});
}

也许有一种方法可以通过PHP实现这一点。通过将href更改为

<a href="page2.html?click=1">Go to Page 2</a>

然后在您的页面上包括以下内容:

<?php
if ($_GET['click']){

echo "<script type=\"text/javascript\">";
echo "
$(\"#object-selector div\").hover(
    function () {
        $(this).animate({borderTopColor: '#fdcc06', borderRightColor: '#fdcc06', borderBottomColor: '#fdcc06', borderLeftColor: '#fdcc06'}, 200).children().animate({backgroundColor: '#fed944', color: '#351e00'}, 200);
    }, 
    function () {
        $(this).animate({borderTopColor: '#FFF', borderRightColor: '#FFF', borderBottomColor: '#FFF', borderLeftColor: '#FFF'}, 200).children().animate({backgroundColor: '#af081f', color: '#FFF'}, 200);
    }
);
";
echo "</script>";
}
?>

也许有一种方法可以通过PHP实现这一点。通过将href更改为

<a href="page2.html?click=1">Go to Page 2</a>

然后在您的页面上包括以下内容:

<?php
if ($_GET['click']){

echo "<script type=\"text/javascript\">";
echo "
$(\"#object-selector div\").hover(
    function () {
        $(this).animate({borderTopColor: '#fdcc06', borderRightColor: '#fdcc06', borderBottomColor: '#fdcc06', borderLeftColor: '#fdcc06'}, 200).children().animate({backgroundColor: '#fed944', color: '#351e00'}, 200);
    }, 
    function () {
        $(this).animate({borderTopColor: '#FFF', borderRightColor: '#FFF', borderBottomColor: '#FFF', borderLeftColor: '#FFF'}, 200).children().animate({backgroundColor: '#af081f', color: '#FFF'}, 200);
    }
);
";
echo "</script>";
}
?>


所以只有当你通过链接访问页面时才会出现动画?嗯?是否希望列出的代码发生,但仅当页面通过该链接打开时发生,而不是其他情况?(也许值得请同事帮忙翻译。)是的,只有当你通过链接访问页面时才会出现动画。我会再检查一遍你的语法,这个问题真的不清楚。我希望我能帮上忙,但也许这不是你想要的。@KingKongFrog我怀疑你找到了真正的解决办法;您应该编辑您的答案,以便对此进行详细说明。:)所以动画只有在你通过链接访问页面时才会出现?嗯?是否希望列出的代码发生,但仅当页面通过该链接打开时发生,而不是其他情况?(也许值得请同事帮忙翻译。)是的,只有当你通过链接访问页面时才会出现动画。我会再检查一遍你的语法,这个问题真的不清楚。我希望我能帮上忙,但也许这不是你想要的。@KingKongFrog我怀疑你找到了真正的解决办法;您应该编辑您的答案,以便对此进行详细说明。:)jQuery函数不是问题,我的意思是,只有通过链接访问页面时才会出现动画。我比我更喜欢这个答案+1 jQuery功能不是问题,我的意思是,只有通过链接访问页面时才会出现动画。我比我更喜欢这个答案+1我真的认为你的答案是对的,我正在测试,非常感谢!是的!你做到了。它工作得非常好!非常感谢。为了理解代码,php得到了?单击,但是后面的“1”是什么意思?我的意思是,我可以做多个这样的链接吗,比如page2.html?click=1,page2.html?click=2?谢谢。它只是将值设置为$_GET['click']哦,好的,现在我明白了!谢谢很抱歉这个奇怪的问题和我糟糕的英语。我真的认为你的答案是正确的,我正在测试,非常感谢!是的!你做到了。它工作得非常好!非常感谢。为了理解代码,php得到了?单击,但是后面的“1”是什么意思?我的意思是,我可以做多个这样的链接吗,比如page2.html?click=1,page2.html?click=2?谢谢。它只是将值设置为$_GET['click']哦,好的,现在我明白了!谢谢对不起,这个奇怪的问题和我糟糕的英语。