1

私はこのjqueryを持っています:

<div class="slider-frame">
    <span class="slider-button">Change</span>
</div>
$('.slider-button').toggle(function() {
    $(this).addClass('on').html('Home');
},function(){
    $(this).removeClass('on').html('Away');
});​

完全なコードについては、この fiddleを参照してください。

ユーザーがボタンのステータスを変更したとき (ホーム -> 外出中、またはその逆) に URL を開く必要がありwww.mysite.com/awayますwww.mysite.com/home

助けてくれてありがとう。

4

3 に答える 3

1

「オープン」は広義の用語です。あなたはこのようなことをすることができます:

$(this).addClass('on').html('Home');
window.location = '/home/';

...しかし、それはページをリロードします。ポップアップを開くという意味ですか?

window.open('/home/');

...または、ページをリロードしてトグルを選択したままにしますか?Cookieを使用するか、ページの読み込み時にURLを確認することができます。

于 2012-12-19T10:11:40.607 に答える
0

window.locationユーザーを同じウィンドウのURLに誘導しますがwindow.open()、新しいウィンドウで開きます。

フィドルを参照してください:http://jsfiddle.net/vY7SQ/157/

参考までに、これはjQueryコードではなく、純粋なJSであるため、jQueryがアタッチされていない場合でも使用できます。

しかし、不思議なことに、クリックするとすぐにユーザーがそこから離れるように指示される場合、クールなアニメーションのトグルスライダースイッチを使用する意味は何ですか?おそらく、ページを(再)ロードせずに、現在のページに新しいコンテンツをロードしようとしていますか?

于 2012-12-19T10:12:54.943 に答える
0

現在のページで別のページを開くかどうかを確認するには、ajax または iframe を使用します。

$('.slider-button').click(function() {
    if ($(this).text() == "Change" || $(this).text() == "Away") {
        $(this).addClass('on').html('Home');
        $('#yourdivToloadContent').load('mysite.com/products/home');
    } else if ($(this).text() == "Home") {
        $(this).removeClass('on').html('Away');
        $('#yourdivToloadContent').load('mysite.com/products/away');
    }
});

フィドルをチェックアウト: http://jsfiddle.net/WM8xS/

于 2012-12-19T10:32:02.377 に答える