0

申し訳ありませんが、私はJSを初めて使用します。クリックするたびにスライドを進めるスライドショーを配置した基本的なhtmlページがあります。私が望んでいるのは、ユーザーが次へをクリックして最後のスライドにいるときに、新しいページに変更することです。私のhtml:

<div id="images">
    <img id="image1" src="http://www.lorempixel.com/960/580/sports" />
    <img id="image2" src="http://www.lorempixel.com/960/580/cats" />
    <img id="image3" src="http://www.lorempixel.com/960/580/food" />
    <img id="image4" src="http://www.lorempixel.com/960/580/people" />
</div>

そして私のJSは次のようになります:

var max = 4;

function goToNext() {
    var hash = String(document.location.hash);
    if (hash && hash.indexOf(/image/)) {
        var newh = Number(hash.replace("#image", ""));
        (newh > max - 1) ? newh = 0 : void(null);
        document.location.hash = "#image" + String(newh + 1);
    } else {
        document.location.hash = "image1";
    }
}

function goToPrevious() {
    var hash = String(document.location.hash);
    if (hash && hash.indexOf(/image/)) {
        var newh = Number(hash.replace("#image", ""));
        (newh == 1) ? newh = 5 : void(null);
        document.location.hash = "#image" + String(newh - 1);
    } else {
   var url = window.location.href;

if (url.search("#image") > 0) {
    window.location.href = "strategy.html";
  }    
 }
}
4

2 に答える 2

0

これを変える:

(newh > max - 1) ? newh = 0 : void(null);
        document.location.hash = "#image" + String(newh + 1);

これに:

(newh > max - 1) ? window.location.href = "strategy.html" :
        document.location.hash = "#image" + String(newh + 1);

jsfiddle

于 2013-04-18T00:37:37.657 に答える
0

newh がゼロかどうかを確認するだけで、

    if(newh == 0) 
        document.location.href = "strategy.html";

これがすべてのコード、デモです

var max = 4;

function goToNext() {
    var hash = String(document.location.hash);
    if (hash && hash.indexOf(/image/)) {
        var newh = Number(hash.replace("#image", ""));
        (newh > max - 1) ? newh = 0 : void(null);

        if(newh == 0) 
            document.location.href = "strategy.html";
        else 
            document.location.hash = "#image" + String(newh + 1);
    } else {
        document.location.hash = "image1";
    }
}

function goToPrevious() {
    var hash = String(document.location.hash);
    if (hash && hash.indexOf(/image/)) {
        var newh = Number(hash.replace("#image", ""));
        (newh == 1) ? newh = max+1 : void(null);
        document.location.hash = "#image" + String(newh - 1);
    } else {
        document.location.hash = "image4";    
 }
}
于 2013-04-18T00:38:48.210 に答える