我正在尝试修改this script中的代码。基本上我试图让脚本将浏览器发送到另一个页面,而不是在div中显示结果。
这是有问题的代码:
<script type="text/javascript">
function openOneSlot() {
SpinningWheel.addSlot({1: 'First', 2: 'Second'});
SpinningWheel.setCancelAction(cancel);
SpinningWheel.setDoneAction(done);
SpinningWheel.open();
}
function done() {
var results = SpinningWheel.getSelectedValues();
document.getElementById('result').innerHTML = 'values: ' + results.values.join(' ') + '<br />keys: ' + results.keys.join(', ');
}
function cancel() {
document.getElementById('result').innerHTML = 'cancelled!';
}
window.addEventListener('load', function(){ setTimeout(function(){ window.scrollTo(0,0); }, 100); }, true);
</script>
我已将'done'功能更改为:
function done() {
var results = SpinningWheel.getSelectedValues();
if (SpinningWheel.getSelectedValues() == "1,First")
{
window.location="first.html";
}
else if (SpinningWheel.getSelectedValues() == "2,Second")
{
window.location="second.html";
}
else
{
alert("Damn, Still not working..");
}
但现在我迷失了,因为我非常 javascript的新手..任何人都可以帮助菜鸟让这个工作吗? :)
答案 0 :(得分:0)
尝试使用location.href而不是window.location
请注意,此特定内容(更改页面)在不同浏览器中的显示方式不同,因此如果您在特定浏览器上遇到问题,则应该谷歌“javascript重定向”
答案 1 :(得分:0)
查看SpinningWheel.getSelectedValues()
返回的内容。它是一个具有两个属性keys
和values
的对象。因此,它不等于“1,First”。检查这些属性中的内容,并根据这些属性建立条件。
答案 2 :(得分:0)
要传递变量,请使用以下语法:
window.location =“first.html?var1Name =”+ var1 +“&amp; var2Name =”+ var2;
要在first.html和second.html页面上获取这些变量的值,您可以使用窗口的查询字符串来获取它们的值:
http://www.eggheadcafe.com/articles/20020107.asp
您需要查看window.location.search
属性。
答案 3 :(得分:0)
试试这个:
function done() {
var results = SpinningWheel.getSelectedValues();
if (results.values[0] == "First")
{
window.location.href="first.html";
}
else if (results.values[0] == "Second")
{
window.location.href="second.html";
}
else
{
alert("Damn, Still not working..");
}
返回的值似乎是所有插槽的数组。由于你的只有一个插槽,我只是查看“results.values”数组的第一个数组位置。