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 に答える