Maison php教程 php手册 JavaScript 图片滑动切换效果

JavaScript 图片滑动切换效果

Jul 11, 2016 pm 08:00 PM
javascript 代码 切换 图片 开源 效果 滑动 编程 编程语言 软件开发

序一(08/07/06)

看到alibaba的一个图片切换效果,感觉不错,想拿来用用。但代码一大堆的,看着昏,还是自己来吧。
由于有了做图片滑动展示效果的经验,做这个就容易得多了。


序二(09/03/19)

自写了Tween缓动之后就很想重新写过这个效果,近来有点时间,终于可以动手了。
除了改成Tween缓动,也改进了程序算法,不过原理还是一样的。


效果预览

<script> new SlideTrans("idContainer", "idSlider", 3, { Vertical: false }).Run(); </script>
仿淘宝/alibaba图片切换:
  • 图片上传预览
  • 多级联动菜单
  • 浮动定位提示
  • 数据延迟加载
  • 简便文件上传

<script> var nums = [], timer, n = $$("idSlider2").getElementsByTagName("li").length, st = new SlideTrans("idContainer2", "idSlider2", n, { onStart: function(){//设置按钮样式 forEach(nums, function(o, i){ o.className = st.Index == i ? "on" : ""; }) } }); for(var i = 1; i <= n; AddNum(i++)){}; function AddNum(i){ var num = $$("idNum").appendChild(document.createElement("li")); num.innerHTML = i--; num.onmouseover = function(){ timer = setTimeout(function(){ num.className = "on"; st.Auto = false; st.Run(i); }, 200); } num.onmouseout = function(){ clearTimeout(timer); num.className = ""; st.Auto = true; st.Run(); } nums[i] = num; } st.Run(); $$("idAuto").onclick = function(){ if(st.Auto){ st.Auto = false; st.Stop(); this.value = "自动"; }else{ st.Auto = true; st.Run(); this.value = "停止"; } } $$("idNext").onclick = function(){ st.Next(); } $$("idPre").onclick = function(){ st.Previous(); } $$("idTween").onchange = function(){ switch (parseInt(this.value)){ case 2 : st.Tween = Tween.Bounce.easeOut; break; case 1 : st.Tween = Tween.Back.easeOut; break; default : st.Tween = Tween.Quart.easeOut; } } </script>

 


程序说明

原理就是通过不断设置滑动对象的left(水平切换)和top(垂直切换)来实现图片切换的动态效果。

首先需要一个容器,程序会自动设置容器overflow为hidden,如果不是相对或绝对定位会同时设置position为relative,
滑动对象会设置为绝对定位:

var p = CurrentStyle(this._container).position;
== "relative" || p == "absolute" || (this._container.style.position = "relative");
this._container.style.overflow = "hidden";
this._slider.style.position = "absolute";


如果没有设置Change切换参数属性,会自动根据滑动对象获取:

this.Change = this.options.Change ? this.options.Change :
    
this._slider[bVertical ? "offsetHeight" : "offsetWidth"/ this._count;


执行Run方法就会开始进入切换,其中有一个可选参数用来重新设置要切换的图片索引:

index == undefined && (index = this.Index);
index 
 0 && (index = this._count - 1|| index >= this._count && (index = 0);

之后就到设置使用tween缓动时需要的参数了,
包括_target(目标值)、_t(时间)、_b(初始值)和_c(变化量):

JavaScript 图片滑动切换效果JavaScript 图片滑动切换效果Code


还有Duration(持续时间)是自定义属性。

参数设置好后就执行Move程序开始移动了。
里面很简单,首先判断_c是否有值(等于0表示不需要移动)和_t是否到达Duration,
未满足条件就继续移动,否则直接移动到目标值并进行下一次切换:

JavaScript 图片滑动切换效果JavaScript 图片滑动切换效果Code

 

使用说明

实例化需要3个参数,分别是容器对象,滑动对象和切换数量,之后可以直接执行Run方法运行:

new SlideTrans("idContainer""idSlider"3).Run();


还有以下可选属性:
Vertical: true,//是否垂直方向(方向不能改)
Auto:  true,//是否自动
Change:  0,//改变量
Duration: 50,//滑动持续时间
Time:  10,//滑动延时
Pause:  2000,//停顿时间(Auto为true时有效)
onStart: function(){},//开始转换时执行
onFinish: function(){},//完成转换时执行
Tween:  Tween.Quart.easeOut//tween算子

其中Vertical初始化后就不能修改,Tween算子可参照这里的缓动效果选择(实例中选了其中3个)。

还有提供了以下方法:
Next: 切换下一个
Previous: 切换上一个
Stop: 停止自动切换
还有上面说到的Run

 

程序代码

JavaScript 图片滑动切换效果JavaScript 图片滑动切换效果Code

 


下载测试代码

其他图片展示效果:
JavaScript 图片变换效果(ie only)
JavaScript 图片滑动展示效果

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le didacticiel d'introduction officiel de Huawei au langage de programmation Cangjie est publié. Découvrez comment obtenir la version universelle du SDK dans un seul article. Le didacticiel d'introduction officiel de Huawei au langage de programmation Cangjie est publié. Découvrez comment obtenir la version universelle du SDK dans un seul article. Jun 25, 2024 am 08:05 AM

Selon les informations de ce site du 24 juin, lors du discours d'ouverture de la conférence des développeurs Huawei HDC2024 le 21 juin, Gong Ti, président du département logiciel Huawei Terminal BG, a officiellement annoncé le langage de programmation Cangjie auto-développé par Huawei. Ce langage a été développé depuis 5 ans et est désormais disponible en avant-première pour les développeurs. Le site Web officiel des développeurs de Huawei a maintenant lancé la vidéo officielle du didacticiel d'introduction du langage de programmation Cangjie pour permettre aux développeurs de démarrer et de le comprendre. Ce didacticiel amènera les utilisateurs à découvrir Cangjie, à apprendre Cangjie et à appliquer Cangjie, notamment en utilisant le langage Cangjie pour estimer pi, calculer les règles de tige et de branche pour chaque mois de 2024, voir N façons d'exprimer les arbres binaires en langage Cangjie et utiliser l'énumération. types pour implémenter des calculs algébriques, la simulation du système de signaux à l'aide d'interfaces et d'extensions, et une nouvelle syntaxe à l'aide des macros Cangjie, etc. Ce site a une adresse d'accès au tutoriel : ht

Après 5 ans de recherche et développement, le langage de programmation de nouvelle génération de Huawei « Cangjie » a officiellement lancé sa version préliminaire Après 5 ans de recherche et développement, le langage de programmation de nouvelle génération de Huawei « Cangjie » a officiellement lancé sa version préliminaire Jun 22, 2024 am 09:54 AM

Ce site a rapporté le 21 juin que lors de la conférence des développeurs Huawei HDC2024 cet après-midi, Gong Ti, président du département logiciel Huawei Terminal BG, a officiellement annoncé le langage de programmation Cangjie auto-développé par Huawei et a publié une version préliminaire pour les développeurs du langage HarmonyOSNEXT Cangjie. C'est la première fois que Huawei publie publiquement le langage de programmation Cangjie. Gong Ti a déclaré : « En 2019, le projet de langage de programmation Cangjie est né chez Huawei. Après 5 ans d'accumulation de R&D et d'investissements importants en R&D, il rencontre enfin les développeurs mondiaux aujourd'hui. Le langage de programmation Cangjie intègre des fonctionnalités de langage moderne, une optimisation complète de la compilation et une implémentation du Runtime. et la prise en charge prête à l'emploi de la chaîne d'outils IDE créent une expérience de développement conviviale et d'excellentes performances de programme pour les développeurs. « Selon les rapports, le langage de programmation Cangjie est un outil d'intelligence tous scénarios.

Huawei lance le recrutement bêta d'un aperçu du langage de programmation HarmonyOS NEXT Cangjie Huawei lance le recrutement bêta d'un aperçu du langage de programmation HarmonyOS NEXT Cangjie Jun 22, 2024 am 04:07 AM

Selon les informations de ce site du 21 juin, le langage de programmation Cangjie développé par Huawei a été officiellement dévoilé aujourd'hui, et le responsable a annoncé le lancement de la version bêta du recrutement HarmonyOSNEXT Cangjie pour les développeurs de langage. Cette mise à niveau est une mise à niveau précoce vers la version préliminaire du développeur, qui fournit le SDK du langage Cangjie, les guides du développeur et les plug-ins DevEcoStudio associés permettant aux développeurs d'utiliser le langage Cangjie pour développer, déboguer et exécuter des applications HarmonyOSNext. Période d'inscription : du 21 juin 2024 au 21 octobre 2024 Conditions de candidature : Cet événement de recrutement HarmonyOSNEXT Cangjie Language Developer Preview Beta est ouvert uniquement aux développeurs suivants : 1) Les vrais noms ont été renseignés dans la certification Huawei Developer Alliance 2) Complete H ;

L'Université de Tianjin et l'Université de Beihang sont profondément impliquées dans le projet « Cangjie » de Huawei et ont lancé le premier cadre de programmation d'agents d'IA « Cangqiong » basé sur des langages de programmation nationaux. L'Université de Tianjin et l'Université de Beihang sont profondément impliquées dans le projet « Cangjie » de Huawei et ont lancé le premier cadre de programmation d'agents d'IA « Cangqiong » basé sur des langages de programmation nationaux. Jun 23, 2024 am 08:37 AM

Selon les informations de ce site du 22 juin, Huawei a présenté hier le langage de programmation auto-développé par Huawei, Cangjie, aux développeurs du monde entier. Il s'agit de la première apparition publique du langage de programmation Cangjie. Selon des enquêtes sur ce site, l'Université de Tianjin et l'Université d'aéronautique et d'astronautique de Pékin ont été profondément impliquées dans la recherche et le développement du « Cangjie » de Huawei. Université de Tianjin : compilateur de langage de programmation Cangjie L'équipe d'ingénierie logicielle du département d'intelligence et d'informatique de l'université de Tianjin s'est associée à l'équipe de Huawei Cangjie pour participer en profondeur à la recherche sur l'assurance qualité du compilateur de langage de programmation Cangjie. Selon certaines informations, le compilateur Cangjie est le logiciel de base en symbiose avec le langage de programmation Cangjie. Lors de la phase préparatoire du langage de programmation Cangjie, un compilateur de haute qualité qui lui correspond est devenu l'un des objectifs principaux. À mesure que le langage de programmation Cangjie évolue, le compilateur Cangjie est constamment mis à niveau et amélioré. Au cours des cinq dernières années, l'Université de Tianjin

Le site Web officiel et les documents de développement du langage de programmation Cangjie développé par Huawei sont en ligne et s'intègrent pour la première fois à l'écosystème Hongmeng. Le site Web officiel et les documents de développement du langage de programmation Cangjie développé par Huawei sont en ligne et s'intègrent pour la première fois à l'écosystème Hongmeng. Jun 22, 2024 am 03:10 AM

Selon les informations de ce site du 21 juin, avant la conférence des développeurs Huawei HDC2024, le langage de programmation Cangjie développé par Huawei a été officiellement dévoilé et le site officiel de Cangjie est désormais en ligne. L'introduction du site officiel montre que le langage de programmation Cangjie est un langage de programmation de nouvelle génération pour l'intelligence tous scénarios, axé sur « l'intelligence native, tous les scénarios naturels, les hautes performances et une sécurité renforcée ». Intégrez-vous à l'écosystème Hongmeng pour offrir aux développeurs une bonne expérience de programmation. Le site officiel joint à ce site présente ce qui suit : cadre de programmation intelligent natif intégré à AgentDSL, intégration organique du langage naturel et du langage de programmation, expression symbolique simplifiée, combinaison libre de modèles, prenant en charge le développement de diverses applications intelligentes. Exécution naturellement légère et évolutive pour toutes les scènes, conception modulaire en couches, quelle que soit la taille de la mémoire, elle peut être adaptée à l'extension de domaine pour tous les scénarios ;

L'écran est idéal pour jouer à des jeux. Brève analyse de l'écran iQOO Neo9S Pro+. L'écran est idéal pour jouer à des jeux. Brève analyse de l'écran iQOO Neo9S Pro+. Jul 19, 2024 pm 03:53 PM

Sur le marché actuel des smartphones, la qualité de l'écran est devenue l'un des indicateurs clés pour mesurer les performances globales d'un téléphone mobile. La série Neo d'iQOO s'est toujours engagée à offrir aux utilisateurs une excellente expérience de jeu et un plaisir visuel. Le dernier produit iQOO Neo9SPro+ utilise un « écran de jeu à trois bonnes protections oculaires ». Ensuite, jetons un coup d'œil à la qualité de cet écran. iQOO Neo9S Pro+ est équipé d'un écran direct e-sports 1,5 KOLED, qui prend en charge le taux de rafraîchissement adaptatif phare LTPO de 1 Hz à 144 Hz, ce qui signifie qu'il peut atteindre un état de veille à très faible consommation lors de l'affichage de contenu statique, et il peut également être intelligent pendant le jeu. Passez à la dynamique élevée de 90 Hz à 144 Hz.

OPPO Find X7 est un chef-d'œuvre ! Capturez chaque instant avec des images OPPO Find X7 est un chef-d'œuvre ! Capturez chaque instant avec des images Aug 07, 2024 pm 07:19 PM

Dans cette époque où tout va très vite, OPPO Find X7 peut utiliser sa puissance d’imagerie pour nous permettre de savourer chaque beau moment de la vie. Qu'il s'agisse de magnifiques montagnes, rivières, lacs ou mers, de réunions de famille chaleureuses ou de rencontres et surprises dans la rue, il peut vous aider à les enregistrer avec une qualité d'image « inégalée ». De l’extérieur, le design de la caméra Deco de Find It est très reconnaissable et dégage une sensation haut de gamme. L'intérieur est également unique, à commencer par la configuration matérielle de base. FindX7 conserve le précédent

Huawei : le langage de programmation Cangjie est contrôlable indépendamment et n'évolue en fonction d'aucun langage de programmation existant Huawei : le langage de programmation Cangjie est contrôlable indépendamment et n'évolue en fonction d'aucun langage de programmation existant Jun 22, 2024 pm 12:26 PM

Selon les informations publiées sur ce site Web le 21 juin, le langage de programmation Cangjie développé par Huawei a été officiellement dévoilé aujourd'hui et la version bêta du recrutement HarmonyOSNEXT Cangjie pour les développeurs a été lancée. La page de questions et réponses sur le langage de programmation Cangjie sur le site officiel de Huawei montre que le langage de programmation Cangjie est un langage de programmation d'applications de nouvelle génération orienté vers l'intelligence tous scénarios. Il se concentre sur l'intelligence native, tous les scénarios naturels, les hautes performances et une sécurité renforcée. Avec le système Hongmeng pour offrir une bonne expérience de programmation. Pour différents scénarios commerciaux, Hongmeng Ecosystem fournit aux développeurs d'applications des capacités de développement hybride multilingue telles que Cangjie et ArkTS. Cangjie et ArkTS se développent ensemble et constituent des avantages complémentaires dans l'écosystème Hongmeng. Cangjie est plus adapté aux scénarios commerciaux avec des exigences de performances et de concurrence élevées. L'objectif du langage de programmation Cangjie est de créer des applications Hongmeng capables d'effectuer des tâches simultanément.

See all articles