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()
}

这是我插入正文部分的代码:

<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 回答