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');
});​

有关完整代码,请参见此小提琴

我需要当用户更改按钮状态(主页 -> 离开,反之亦然)时,它会打开一个 URL,例如,当我在 Away 上滑动时,我需要打开www.mysite.com/away,当我在“Home”上滑动时它会打开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 回答