Avatar billede k-asp-er Nybegynder
29. august 2003 - 14:49 Der er 2 kommentarer og
1 løsning

Dynlayer - Newsticker - pause ved mouseover

Dette script afvikler en newsticker, jeg ville gerne, at scroll ophørte, når man fører musen over objektet, kan nogen hjælpe?

Source - - - -

// Copyright (C) 1999 Dan Steinman
// Distributed under the terms of the GNU Library General Public License
// Available at http://www.dansteinman.com/dynapi/

function NewsTicker(x,y,width,height) {
    this.name = 'NewsTicker' + (NewsTicker.count++)
    this.x = x
    this.y = y
    this.w = width
    this.h = height
    this.obj = this.name + "Object"
    eval(this.obj + " = this")
    this.items = new Array()
    this.scrollCount = 0

    this.pauseLength = 10000
    this.inc = 2
    this.speed = 10
    this.fromX = 0
    this.fromY = this.h
    this.bgColor = null

    this.addItem = NewsTickerAddItem
    this.activate = NewsTickerActivate
    this.build = NewsTickerBuild
    this.start = NewsTickerStart
    this.stop = NewsTickerStop
    this.slide = NewsTickerSlide
}
function NewsTickerAddItem(text) {
    var i = this.items.length
    this.items[i] = new Object()
    this.items[i].text = text
}
function NewsTickerBuild() {
    this.css = css(this.name,this.x,this.y,this.w,this.h)
    this.div = '<div id="' + this.name + '">'
    for (var i=0;i<this.items.length;i++) {
        this.css += css(this.name + 'Item' + i,0,0,this.w,this.h,this.bgColor,'hidden')
        this.div += '<div id="' + this.name + 'Item' + i + '">' + this.items[i].text + '</div>'
    }
    this.div += '</div>'
}
function NewsTickerActivate(autostart) {
    for (var i = 0; i < this.items.length; i++) {
        this.items[i].lyr = new DynLayer(this.name + 'Item' + i)
        this.items[i].lyr.moveTo(this.fromX,this.fromY)
        this.items[i].lyr.show()
    }
    this.items[0].lyr.moveTo(0,0)
    this.lyr = new DynLayer(this.name)
    var num = Math.sqrt(Math.pow(this.fromX,2) + Math.pow(this.fromY,2)) / this.inc
    this.dx = this.fromX / num || 0
    this.dy = this.fromY / num || 0
    if (autostart != false) setTimeout(this.obj+'.start()',this.pauseLength)
}
function NewsTickerStart() {
    if (!this.started) {
        this.started = true
        var t = this.scrollCount
        var b = (this.scrollCount == this.items.length - 1)? 0 : this.scrollCount + 1
        var obj1 = this.items[t].lyr.obj
        var obj2 = this.items[b].lyr.obj
        this.timer = setInterval(this.obj + '.slide(' + obj1 + ',' + obj2 + ')',this.speed)
    }
}
function NewsTickerStop() {
    clearInterval(this.timer)
    this.started = false
}
function NewsTickerSlide(obj1,obj2) {
    obj1.moveBy(-this.dx,-this.dy)
    obj2.moveBy(-this.dx,-this.dy)
    if ((this.dx != 0 && Math.floor(obj2.x) == 0) || (this.dy != 0 && Math.floor(obj2.y) == 0)) {
        clearInterval(this.timer)
        obj1.moveTo(this.fromX,this.fromY)
        obj2.moveTo(0,0)
        this.scrollCount = (this.scrollCount == this.items.length - 1)? 0 : this.scrollCount + 1
        this.timer = setTimeout(this.obj + '.started = false;' + this.obj+'.start()',this.pauseLength)
    }
}
NewsTicker.count = 0
Avatar billede Slettet bruger
30. august 2003 - 10:08 #1
Avatar billede k-asp-er Nybegynder
08. september 2003 - 11:24 #2
Nope lukker spørgsmålet
Avatar billede Slettet bruger
08. september 2003 - 21:29 #3
Hvad var der da galt med dem?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester