


Native javascript image automatic or manual switching example with demo source code_javascript skills
一、效果图
二、html代码
- 1
- 2
- 3
三、源代码
var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
Object .extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
var TransformView = Class.create();
TransformView.prototype = {
//Container object, sliding object, switching parameter, switching number
initialize: function(container, slider, parameter, count, options) {
if(parameter <= 0 || count <= 0) return;
var oContainer = $(container), oSlider = $(slider), oThis = this;
this.Index = 0;//Current index
this._timer = null;//Timer
this._slider = oSlider;//Sliding object
this._parameter = parameter ;//Switching parameter
this._count = count || 0;//Switching quantity
this._target = 0;//Target parameter
this.SetOptions(options);
this.Up = !!this.options.Up;
this.Step = Math.abs(this.options.Step);
this.Time = Math.abs(this.options.Time) ;
this.Auto = !!this.options.Auto;
this.Pause = Math.abs(this.options.Pause);
this.onStart = this.options.onStart;
this.onFinish = this.options.onFinish;
oContainer.style.overflow = "hidden";
oContainer.style.position = "relative";
oSlider.style.position = "absolute";
oSlider.style.top = oSlider.style.left = 0;
},
//Set the default properties
SetOptions: function(options) {
this. options = {//Default value
Up: true,//Whether to go up (otherwise to the left)
Step: 5,//Sliding change rate
Time: 10,//Sliding delay
Auto: true,//Whether to automatically convert
Pause: 2000,//Pause time (valid when Auto is true)
onStart: function(){},//Execute when starting conversion
onFinish: function (){}//Execute when the conversion is completed
};
Object.extend(this.options, options || {});
},
//Start switching settings
Start : function() {
if(this.Index < 0){
this.Index = this._count - 1;
} else if (this.Index >= this._count){ this .Index = 0; }
this._target = -1 * this._parameter * this.Index;
this.onStart();
this.Move();
},
//Move
Move: function() {
clearTimeout(this._timer);
var oThis = this, style = this.Up ? "top" : "left",
iNow = parseInt(this._slider.style[style]) || 0,
iStep = this.GetStep(this._target, iNow);
if (iStep != 0) {
this._slider.style[style] = (iNow iStep) "px";
this._timer = setTimeout(function(){ oThis.Move(); }, this.Time);
} else {
this._slider.style[style] = this._target "px";
this.onFinish();
if (this.Auto) { this._timer = setTimeout(function(){ oThis.Index ; oThis.Start(); }, this.Pause); }
}
},
//Get the step size
GetStep: function(iTarget, iNow) {
var iStep = (iTarget - iNow) / this.Step;
if (iStep == 0) return 0;
if (Math.abs(iStep) < 1) return (iStep > 0 ? 1 : -1) ;
return iStep;
},
//Stop
Stop: function(iTarget, iNow) {
clearTimeout(this._timer);
this._slider.style[this .Up ? "top" : "left"] = this._target "px";
}
};
window.onload=function(){
function Each(list, fun){
for (var i = 0, len = list.length; i < len; i ) { fun(list[i], i); }
};
var objs = $("idNum2").getElementsByTagName("li");
var tv = new TransformView("idTransformView2", "idSlider2", 408, 3, {
onStart: function(){ Each(objs, function(o, i){ o.className = tv.Index == i ? "on" : ""; }) },//Button style
Up: false
});
tv.Start();
Each(objs, function(o, i){
o.onmouseover = function(){
o.className = "on";
tv.Auto = false;
tv.Index = i;
tv.Start();
}
o.onmouseout = function(){
o.className = " ";
tv.Auto = true;
tv.Start();
}
})
}
The name is obvious at first glance. So I won’t explain the code in detail!
Demo and source file download

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



How to achieve seamless left and right sliding switching effect of images with JavaScript? With the development of the Internet, images are often used as important elements of the page in web design. The switching effect of pictures plays an important impact on the beauty and interactivity of the page. In this article, we will explore how to use JavaScript to achieve a seamless left-right sliding switching effect of images, and attach specific code examples. To achieve the seamless left and right sliding switching effect of pictures, you first need to do the following: Create a picture container and use

To implement the append() method in native js, specific code examples are required. When writing JavaScript code, it is often necessary to add new content to specified elements in the web page. A common operation is to set the HTML content of the element through the innerHTML attribute. However, using the innerHTML attribute sometimes results in the loss of event listeners, styles, etc. inside the element. In order to better implement the function of adding content, we can implement an append() method ourselves. The append() method can

Methods and techniques on how to achieve image carousel effects through pure CSS. In modern web design, image carousel effects are often used to display multiple images or advertisements in turn. There are many ways to achieve an image carousel effect, one of the common ways is to use CSS animation. This article will introduce methods and techniques on how to achieve image carousel effects through pure CSS, and provide specific code examples. 1. HTML structure First, the image elements for carousel need to be prepared in HTML. Here is a simple HTML structure example: &l

How to achieve image switching and carousel effects through Vue? Vue is a JavaScript framework for building user interfaces that provides an elegant and efficient way to handle data and interaction logic in web applications. One of the many great features of Vue is that it can easily handle image switching and carousel effects. In this article, we will introduce how to use Vue to achieve these effects. First, we need to prepare some basic HTML structures and styles to display images. We can use <i

Creating responsive image switching effects is one of the common tasks in front-end development. In this article, we will use HTML, CSS and jQuery to achieve this effect. Below are detailed steps and specific code examples. HTML structure First, we need to create the HTML structure required for the image switching effect. You can use the following code example to create a simple HTML structure. <divclass="slider-container">

How to use JavaScript to achieve the gradient effect of image switching? With the development of the Internet, website design pays more and more attention to user experience. Image switching is one of the common interactive effects on websites. Gradient switching of images can better attract users' attention. This article will introduce how to use JavaScript to achieve the gradient effect of image switching, and provide specific code examples. Before we start, we need to prepare some image resources. Suppose we have three pictures, namely "image1.jpg", "

How can JavaScript achieve a seamless left and right sliding switching effect of an image while adding zoom and fade animations? In website development, the sliding switching effect of images is a very common requirement. Here we will introduce how to use JavaScript to achieve a left and right seamless sliding switching effect, while adding zoom and fade animations. This article will provide detailed code examples so that you can easily achieve this effect. First, we need to prepare a container in HTML to place images, and set the container's

How to use Layui to achieve the image switching carousel effect requires specific code sample title: Detailed explanation of using Layui to achieve the image switching carousel effect Introduction: In modern web design, the image switching carousel effect has become one of the common elements. Using image carousels can make web pages more dynamic and attractive. This article will use Layui as the basis to introduce how to achieve the image switching carousel effect, and give specific code examples. 1. Introduction to Layui carousel component Layui is a classic front-end UI framework, which includes
