0

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

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

我希望,当单击此按钮时,它会转到页面并运行一个 jQuery 函数,如下所示:

$("#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);
    }
);

但是,如果在没有单击链接的情况下导航到页面,则不应执行该功能。有没有办法做到这一点?

4

2 回答 2

2

如果你想在客户端做这一切,你可以在你的 URL 上附加一个哈希

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

然后使用下面的代码

<script>
if(window.location.hash === '#hover') {
    $(function() {
        $("#object-selector div").hover( ... , ... );
    });
}
</script>
于 2012-11-07T23:50:40.430 回答
1

也许有一种方法可以用 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 的服务器,而不适用于您的本地计算机。

于 2012-11-07T23:55:17.737 回答