This article focuses on the seamless scrolling of marquee and js (javascript) images. If you need it, you can try it for reference.
The following is a simple method I found on the Internet that combines marquee and js to solve seamless image scrolling, including Scrolling up, down, left, and right, the following is a brief introduction;
First, let's take a look at the attributes of objects used in the instance code:
1. innerHTML: set or obtain the HTML in the start and end tags of the object.
2. scrollHeight: gets the scroll height of an object.
3. scrollLeft: sets or obtains the distance between the left edge of the object and the leftmost end of the currently visible content in the window.
4. scrollTop: set or obtain the distance between the top of the object and the top of the visible content in the window.
5. scrollWidth: gets the scroll width of an object.
6. offsetHeight: gets the height of the object relative to the layout or the parent coordinate specified by the parent coordinate offsetParent attribute.
7. offsetLeft: obtains the left position of the object relative to the layout or the parent coordinate specified by the offsetParent attribute.
8. offsetTop: obtains the top position of an object relative to the layout or the parent coordinate specified by the offsetTop attribute.
9. offsetWidth: gets the width of the object relative to the layout or the parent coordinate specified by the parent coordinate offsetParent attribute.
First: Seamless image scrolling
| The Code is as follows: |
Copy code |
<Style type = "text/css">
<! -- Style code
# Demo {
Background: # FFF;
Overflow: hidden;
Border: 1px dashed # CCC;
Height: 100px;
Text-align: center;
Float: left;
}
# Demo img {
Border: 3px solid # F2F2F2;
Display: block;
}
-->
</Style>
Scroll up
<Div id = "demo">
<Div id = "demo1">
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
</Div>
<Div id = "demo2"> </div>
</Div>
<Script>
<! --
Var speed = 10; // The greater the number, the slower the speed.
Var tab = document. getElementById ("demo ");
Var tab1 = document. getElementById ("demo1 ");
Var tab2 = document. getElementById ("demo2 ");
Tab2.innerHTML = tab1.innerHTML; // clone demo1 to demo2
Function Marquee (){
If (tab2.offsetTop-tab. scrollTop <= 0) // when you scroll to the junction of demo1 and demo2
Tab. scrollTop-= tab1.offsetHeight // The demo jumps to the top of the page.
Else {
Tab. scrollTop ++
}
}
Var MyMar = setInterval (Marquee, speed );
Tab. onmouseover = function () {clearInterval (MyMar)}; // clear the timer when you move the cursor up to stop scrolling.
Tab. onmouseout = function () {MyMar = setInterval (Marquee, speed)}; // reset the timer when you move the mouse away
-->
</Script> <! -- Scroll up to end --> |
Type 2: Seamless image scrolling down
| The Code is as follows: |
Copy code |
<Style type = "text/css">
<! -- Style code
# Demo {
Background: # FFF;
Overflow: hidden;
Border: 1px dashed # CCC;
Height: 100px;
Text-align: center;
Float: left;
}
# Demo img {
Border: 3px solid # F2F2F2;
Display: block;
}
-->
</Style>
Scroll down
<Div id = "demo">
<Div id = "demo1">
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
</Div>
<Div id = "demo2"> </div>
</Div>
<Script>
<! --
Var speed = 10; // The greater the number, the slower the speed.
Var tab = document. getElementById ("demo ");
Var tab1 = document. getElementById ("demo1 ");
Var tab2 = document. getElementById ("demo2 ");
Tab2.innerHTML = tab1.innerHTML; // clone demo1 to demo2
Tab. scrollTop = tab. scrollHeight
Function Marquee (){
If (tab1.offsetTop-tab. scrollTop> = 0) // when you scroll to the junction of demo1 and demo2
Tab. scrollTop + = tab2.offsetHeight // The demo jumps to the top of the page.
Else {
Tab. scrollTop --
}
}
Var MyMar = setInterval (Marquee, speed );
Tab. onmouseover = function () {clearInterval (MyMar)}; // clear the timer when you move the cursor up to stop scrolling.
Tab. onmouseout = function () {MyMar = setInterval (Marquee, speed)}; // reset the timer when you move the mouse away
-->
</Script> <! -- Scroll down the image --> |
Third: Seamless image scrolling to the left
| The Code is as follows: |
Copy code |
<Style type = "text/css">
<! -- Style code
# Demo {
Background: # FFF;
Overflow: hidden;
Border: 1px dashed # CCC;
Width: 500px;
}
# Demo img {
Border: 3px solid # F2F2F2;
}
# Indemo {
Float: left;
Width: 800%;
}
# Demo1 {
Float: left;
}
# Demo2 {
Float: left;
}
-->
</Style>
Scroll left
<Div id = "demo">
<Div id = "indemo">
<Div id = "demo1">
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
</Div>
<Div id = "demo2"> </div>
</Div>
</Div>
<Script>
<! --
Var speed = 10; // The greater the number, the slower the speed.
Var tab = document. getElementById ("demo ");
Var tab1 = document. getElementById ("demo1 ");
Var tab2 = document. getElementById ("demo2 ");
Tab2.innerHTML = tab1.innerHTML;
Function Marquee (){
If (tab2.offsetWidth-tab. scrollLeft <= 0)
Tab. scrollLeft-= tab1.offsetWidth
Else {
Tab. scrollLeft ++;
}
}
Var MyMar = setInterval (Marquee, speed );
Tab. onmouseover = function () {clearInterval (MyMar )};
Tab. onmouseout = function () {MyMar = setInterval (Marquee, speed )};
-->
</Script> <! -- The image ends seamlessly on the left --> |
Type 4: Seamless image scrolling to the right
| The Code is as follows: |
Copy code |
<Style type = "text/css">
<! --
# Demo {
Background: # FFF;
Overflow: hidden;
Border: 1px dashed # CCC;
Width: 500px;
}
# Demo img {
Border: 3px solid # F2F2F2;
}
# Indemo {
Float: left;
Width: 800%;
}
# Demo1 {
Float: left;
}
# Demo2 {
Float: left;
}
-->
</Style>
|
Scroll to the right
| The Code is as follows: |
Copy code |
<Div id = "demo">
<Div id = "indemo">
<Div id = "demo1">
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
<Div id = "imagest">
<Div id = "images"> <a href = ""> </a> </div>
<Div id = "imgtit"> <a href = "" title = ""> </a> </div>
</Div>
</Div>
<Div id = "demo2"> </div>
</Div>
</Div>
<Script>
<! --
Var speed = 10; // The greater the number, the slower the speed.
Var tab = document. getElementById ("demo ");
Var tab1 = document. getElementById ("demo1 ");
Var tab2 = document. getElementById ("demo2 ");
Tab2.innerHTML = tab1.innerHTML;
Function Marquee (){
If (tab. scrollLeft <= 0)
Tab. scrollLeft + = tab2.offsetWidth
Else {
Tab. scrollLeft --
}
}
Var MyMar = setInterval (Marquee, speed );
Tab. onmouseover = function () {clearInterval (MyMar )};
Tab. onmouseout = function () {MyMar = setInterval (Marquee, speed )};
-->
</Script> |
The above section describes how to use marquee and js to seamlessly scroll up and down the image in four directions. Of course, there are other methods on the Internet. I personally think this method is simple and the code is not redundant, you can try it.