二、html代码
Home Web Front-end JS Tutorial Native javascript image automatic or manual switching example with demo source code_javascript skills

Native javascript image automatic or manual switching example with demo source code_javascript skills

May 16, 2016 pm 05:23 PM
Native js Picture switching

一、效果图
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
Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to achieve seamless left and right sliding switching effect of images in JavaScript? How to achieve seamless left and right sliding switching effect of images in JavaScript? Oct 19, 2023 am 08:56 AM

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

Native js implements append() method Native js implements append() method Feb 18, 2024 pm 02:37 PM

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 Methods and techniques on how to achieve image carousel effects through pure CSS Oct 18, 2023 am 08:27 AM

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? How to achieve image switching and carousel effects through Vue? Aug 18, 2023 pm 04:57 PM

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 &lt;i

How to use HTML, CSS and jQuery to create a responsive image switching effect How to use HTML, CSS and jQuery to create a responsive image switching effect Oct 24, 2023 am 08:01 AM

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. &lt;divclass="slider-container"&gt;

How to use JavaScript to achieve the gradient effect of image switching? How to use JavaScript to achieve the gradient effect of image switching? Oct 21, 2023 am 09:33 AM

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 to achieve seamless left and right sliding switching effects of images with JavaScript while adding zoom and fade animations? How to achieve seamless left and right sliding switching effects of images with JavaScript while adding zoom and fade animations? Oct 25, 2023 am 09:39 AM

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 image switching carousel effect How to use Layui to achieve image switching carousel effect Oct 26, 2023 am 11:52 AM

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

See all articles