Home  >  Article  >  Web Front-end  >  JavaScript is natively compatible with IE6 and can control the scrolling text function

JavaScript is natively compatible with IE6 and can control the scrolling text function

小云云
小云云Original
2018-02-05 16:17:541405browse

1. Basic goal

As shown below, the text can scroll seamlessly in the area of ​​15px-400px every 0.05s, 5px pixels. Of course, change the following Script, it’s okay if you ask me to scroll from the earth to outer space. As long as you tell me the px of the earth and the px of outer space, then set two buttons. When you click "Stop", it will stop. After stopping, click "Start" "Just let it start. If it is in the "Start" state and you click "Start", there will be no bug. If you continue to keep it in this state, it will be in the "Stop" state. If you click "Stop", there will be no problem. .

2. HTML layout

The code is as follows:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>marquee</title>
</head>
<body>
<p>sssssss</p>
<p id="marquee" style="padding-left:0px;">marquee</p>
<p>sssssss</p>
<button onclick="return marquee_move_stop()">停止</button>
<button onclick="return marquee_move_start()">开始</button>
</body>
</html>

The thoughts are as shown below. A picture is worth a thousand words, so I won’t go into details. Please compare the code and pictures yourself.

3. Script part

This is the core of the entire control.


<script>
//设置其滚动速度是5px/0.05s,这样能够实现无缝滚动,不会一卡一卡的。
var speed=5;
var marqueeTimer=setInterval("marquee_move()",50);
//这个变量主要是用来下面控制滚动开始与停止的两个函数
var isMarqueeMove=true;
//滚动的核心函数
function marquee_move(){
  //这么长的代码主要是为了把带px的padding-left转化为一个可以操作的数
  //如padding-left:0px;经过这一行代码之后var marquee_x=0;
  var marquee_x=parseInt(document.getElementById("marquee").style.paddingLeft.substring(0,document.getElementById("marquee").style.paddingLeft.indexOf("px")));
  //如果滚过400px这个位置,那就向反方向走,反之亦然
  if(marquee_x>400){
    speed=-5;
  }
  //这里不要设置成0,可能会产生越界bug
  if(marquee_x<15){
    speed=5;
  }
  //文字向右滚5px
  document.getElementById("marquee").style.paddingLeft=marquee_x+speed+"px";
}
//下面控制滚动开始与停止的两个函数
//之所以要立flag,是因为marqueeTimer=setInterval("marquee_move()",50);多次被执行,滚动会变得很快和无法控制
//后方的计时器不会替换到前方的计时器
function marquee_move_stop(){
  if(isMarqueeMove){
    clearTimeout(marqueeTimer);
    isMarqueeMove=false;
  }
}
function marquee_move_start(){
  if(!isMarqueeMove){
    marqueeTimer=setInterval("marquee_move()",50);
    isMarqueeMove=true;
  }
}
</script>

4. Summary

1. In CSS, any attribute with - will be used in javascript To change it to uppercase, for example, the padding-left of CSS is paddingLeft in javascript, otherwise it will be treated as a minus sign

2. Use padding-left to complete this component. There is no need to use left to set absolute positioning, and then Now we have to consider how to place this component.

3. This thing scrolls within the percentage width of the browser. It is best not to do this. After all, taking out the width of the browser in JavaScript may encounter various compatibility issues. Or set a fixed value, this code is short.

Attachment: HTML relatively unpopular tags and attributes

1.f32b48428a809b51f04d3228cdf461fa tags can add a horizontal separation Wire. Single mark label, with attributes width, size, color, align (followed by value) noshade (added directly, such as disabled in a text box, indicating that this horizontal line has no shadow)

2.&lt The ;marquee> tag has been deprecated by Microsoft.

Microsoft has given up support for MARQUEE under the latest IE8 (I am speechless here, MARQUEE was created by Microsoft itself, and now Firefox supports it, and it has stopped supporting itself)

There are many problems with using marquee. DW gives you tips to warn you to be cautious.

There is a problem with the scrolling of the following code in IE8. When the picture is scrolled, it will automatically refresh, which is quite ugly and cannot achieve seamless scrolling.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>滚动</title>
</head>
<body>
<marquee width=250px behavior="scroll">
<a href="http://www.163.com" rel="external nofollow" ><img src="img0.jpg" width=100 hspace=50/></a>
<a href="http://www.baidu.com" rel="external nofollow" ><img src="img28.jpg" width=100px /></a>
</marquee>
</body>
</html>

3.8e99a69fbe029cd4e2b854e244eab143 tags are emphasis tags, based on content. a4b561c25d9afb9ac8dc4d70affff419 is the physical style. 2cdea26b4c3988e37d674b56660962a7b96cac025db4031319c29e1eb68f19d6The double mark tag can make the font superscript and subscript respectively

4.© represents the copyright character ©, ® is a registered trademark,   is a space

5. For pictures, its hspace attribute can set the spacing between pictures.

6.6c04bd5ca3fcae76e30b72ad730ca86dThe vlink link tag also has attributes. You can set the colors of visited and unvisited hyperlinks respectively. leftmargin and topmargin can respectively specify the left margin and top of the document. Distance

7.43dc486733d3ba762d4de071b10bf7125554dbb768d246a73cb0ceb9f56f6279can be set separately Keywords and web page descriptions crawled by search engines

Related recommendations:

Example code for making scrolling text in HTML

Left scrolling text js code effect_javascript skills

js method to realize scrolling text description when the mouse hovers over the image_javascript skills


The above is the detailed content of JavaScript is natively compatible with IE6 and can control the scrolling text function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn