0

Google から JavaScript コードをコピーしたばかりですが、現在のページで開くハイパーリンクを作成する方法がわかりません。

<head>これが私のページのセクション に挿入したコードです。

var slideimages = new Array()
var slidelinks = new Array()

function slideshowimages() {
    for (i = 0; i < slideshowimages.arguments.length; i++) {
        slideimages[i] = new Image()
        slideimages[i].src = slideshowimages.arguments[i]
    }
}

function slideshowlinks() {
    for (i = 0; i < slideshowlinks.arguments.length; i++)
    slidelinks[i] = slideshowlinks.arguments[i]
}

function gotoshow() {
    if (!window.winslide || winslide.closed) winslide = window.open(slidelinks[whichlink])
    else winslide.location = slidelinks[whichlink]
    winslide.focus()
}

body セクションに挿入したコードは次のとおりです。

<script>
<!--

slideshowimages("main.PNG", "mainhover.PNG")
slideshowlinks('index.php', '_self')

//configure the speed of the slideshow, in miliseconds

var slideshowspeed = 2500

var whichlink = 0
var whichimage = 0

function slideit() {
    if (!document.images) return
    document.images.slide.src = slideimages[whichimage].src
    whichlink = whichimage
    if (whichimage < slideimages.length - 1) whichimage++
    else whichimage = 0
    setTimeout("slideit()", slideshowspeed)
}
slideit()
slideit()

//-->
</script>

画像をクリックするたびに、新しいタブに index.php ページが常に表示されます。同じページで index.php ページを開く簡単な方法はありますか? 私は JavaScript について何も知りません。

4

1 に答える 1

0

HTML を見ると問題を理解するのに役立ちますが、このコードは

if (!window.winslide || winslide.closed) winslide = window.open(slidelinks[whichlink])
else winslide.location = slidelinks[whichlink]
winslide.focus()

基本的に、これが初めて実行する場合は、window.open(slidelinks[whichlink]たとえば Chrome が新しいタブを開くために使用する新しいウィンドウ ( ) を開くことを示します。

既に作成されている場合は、そのウィンドウの場所をスライドの URL に変更します (else winslide.location = slidelinks[whichlink]たとえば、新しいウィンドウで動作するように設計されています)。

window.openそれを変更するには、iframe などで動作するものに置き換える必要があります。

新しいウィンドウを開く目的が何かはわかりませんが、これがコードの動作です

余談ですが、HTML ベースのスライドを実行するのに最適なコードが見つかったかどうかはわかりません。最新のスライドが必要な場合は、http://lab.hakim.se/reveal-js/のようなものを試してください。

于 2013-04-16T14:47:35.417 に答える