English 中文(简体)
Displaying news with javascript
原标题:

I keep coming up against this issue. Displaying news on a website. And I d like to come up with a solution to use like a template, something I can just drop on a site easily.

The solution I keep seeing is an iframe with javascript to scroll the content. However, I m really opposed to the idea of using iframes, I think the time for those has passed.

I want to use JS without a framework, because it disallows using other frameworks. Does anyone know where I could find something robust?

(I m thinking of using vertical scrolling, but I m also curious about other solutions)

最佳回答

I found a script that seems to wok well for me, maybe someone else will find this helpful

/***********************************************
* Cross browser Marquee II- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

var delayb4scroll=1000; //Specify initial delay before marquee starts to scroll on page (2000=2 seconds)
var marqueespeed=1; //Specify marquee scroll speed (larger is faster 1-10)
var pauseit=1; //Pause marquee onMousever (0=no. 1=yes)?
var tim;
////NO NEED TO EDIT BELOW THIS LINE////////////

var copyspeed=marqueespeed;
var pausespeed=(pauseit==0)? copyspeed: 0;
var actualheight=  ;

function scrollmarquee(){
    //document.write(parseInt(cross_marquee.style.top));
        //if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+8)) {
    if (document.getElementById( track ).value == "") {
        if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+8)) {
            cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed+"px";
            //alert(actualheight);
        }
        else {
            //alert(parseInt(marqueeheight));
            cross_marquee.style.top=parseInt(marqueeheight)-8+"px";
        }
    }
}

//on mouse out
function mouse_out() {
    clearTimeout(tim);
    scrollmarquee;
}

//init()
function initializemarquee(){
    cross_marquee=document.getElementById("vmarquee");
    cross_marquee.style.top=0;
    marqueeheight=document.getElementById("marqueecontainer").offsetHeight;
    actualheight=cross_marquee.offsetHeight;
    if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1){ //if Opera or Netscape 7x, add scrollbars to scroll and exit
        cross_marquee.style.height=marqueeheight+"px";
        cross_marquee.style.overflow="scroll";
        return
    }
    setTimeout( lefttime=setInterval("scrollmarquee()",55) , delayb4scroll);
}

//event listener
if (window.addEventListener) {
    window.addEventListener("load", initializemarquee, false);
}
else if (window.attachEvent) {
    window.attachEvent("onload", initializemarquee);
}
else if (document.getElementById) {
    window.onload=initializemarquee;
}

the html:

<!-- scroll -->
<div id="marqueecontainer" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">
<div id="vmarquee" class="vmarquee_content">
    <!--YOUR SCROLL CONTENT HERE-->
</div>
</div>
<input id="track" name="track" type="hidden" value="">

and the css:

#marqueecontainer{
    position: relative;
    width: 250px; /*marquee width */

    height: 150px; /*marquee height */
    background-color: white;
    overflow: hidden;
    border: 1px solid #666666;
    padding: 2px;
    padding-left: 4px;
}
.scroll_div {
    border:solid 1px #3366FF;
    width: 260px;
    width/**/: 280px !important;
}
.vmarquee_content {
    position:absolute;
    font-size:12px;
    font-family:Arial, Helvetica, sans-serif;
}
问题回答

Why don´t you take a div insert an other div an give the second div a nagative top value.

<script type="text/javascript">
function toTop(top_value)
{
  if (top_value == 0)
  { document.getElementById( news ).css.top =  0 ; }

  document.getElementById( news ).css.top =  -5px ;
}
window.setTimeout( toTop(1) , 100);
window.setTimeout( toTop(0) , 10000);
</script>

This is untested, but I´ve done it this way.





相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签