이 글에서는 js 포커스 이미지 캐스케이딩 캐러셀 전환 스크롤 효과를 예시를 통해 소개하고 있으며, 참고용으로 모두와 공유합니다
렌더링:
기능 설명:
- 이미지 크기를 맞춤설정하세요.
- 매번 사진을 자동으로 스크롤합니다.
- 애니메이션이 실행될 때마다 이미지의 위치가 변경되고 이에 따라 너비, 높이 및 기타 속성도 변경됩니다. 사진 위로 마우스를 이동하면 현재 사진의 상세 정보가 표시됩니다.
- 버튼을 클릭하면 앞뒤로 스크롤됩니다.
-
상세코드:
HTML 코드:
<!DOCTYPE html> <!-- saved from url=(0062)http://x1.xiuimg.com/style/xiu/woxiu/v1/tpl/topic/xiuxuan.html --> <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> <style type="text/css"> *{margin:0px; padding:0px;font-family:"Microsoft YaHei"} ol,ul{list-style:none;} cite,em,i{font-style:normal} * html .clearfix { height: 1%; } .clearfix { display: block; } .myclearfix:after { clear:both; visibility:hidden;} .myclearfix { display: block; _display:inline-block; overflow:hidden;} #largerImages{position:relative;width:1000px;margin:0 auto;height:520px;overflow:hidden;} #largerImages li{box-shadow:1px 1px 12px rgba(200, 200, 200, 1);width:368px;height:368px; position:absolute;top:10px;overflow:hidden;color:#fff;} #largerImages li .cover{background-color:#333;opacity:0.5;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);height:100%;width:100%;display:block;position:absolute;top:0px;} #largerImages img{border:0px;width:100%;height:100%;} #largerImages .previous{left:13%;} #largerImages .next{left:53%;} #largerImages .previous,#largerImages .next{cursor:pointer; position:absolute;z-index:100; top:25%;height:60px;line-height:60px;width:30px;color:#fff;text-align:center;} #largerImages .previous span,#largerImages .next span{position:absolute;top:0px;left:0px;height:100%;width:100%;display:block;background-color:#000;opacity:0.4;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);} #largerImages .previous em,#largerImages .next em{height:100%;width:100%;display:block;position:absolute;top:0px;left:0px;font-size:26px; font-family: "宋体";} #largerImages li span,#largerImages li em{position:absolute;left:0px;width:100%;height:30px;line-height:30px; bottom:0px;text-align:center;display:block;color:#fff;} #largerImages li span{background-color:#000;opacity:0.5;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);font-size:12px;} </style> </head> <body> <ul id = "largerImages"> <p class="previous"><span> </span><em><</em></p> <p class="next"><span> </span><em>></em></p> <li><i class="cover"> </i> <a href="#"><img src="/static/imghwm/default1.png" data-src="http://xiu.xiuimg.com/upload/xiu/9/90/qq-srntbvlhcw_b_56.com_160106133546.jpg" class="lazy" alt="네이티브 js는 이미지 계단식 캐러셀 전환 effect_javascript 기술을 구현합니다." ></a> <p class="tab_name"><span> </span><em>主播昵称</em></p> </li> <li><i class="cover"> </i> <a href="#"><img src="/static/imghwm/default1.png" data-src="http://xiu.xiuimg.com/upload/xiu/96/58/dc15170219625_b_56.com_151201150445.jpg" class="lazy" alt="네이티브 js는 이미지 계단식 캐러셀 전환 effect_javascript 기술을 구현합니다." ></a> <p class="tab_name"><span> </span><em>主播昵称</em></p> </li> <li><i class="cover"> </i> <a href="#"><img src="/static/imghwm/default1.png" data-src="http://xiu.xiuimg.com/upload/xiu/9/90/qq-srntbvlhcw_b_56.com_160106133546.jpg" class="lazy" alt="네이티브 js는 이미지 계단식 캐러셀 전환 effect_javascript 기술을 구현합니다." ></a> <p class="tab_name"><span> </span><em>主播昵称</em></p> </li> <li><i class="cover"> </i> <a href="#"><img src="/static/imghwm/default1.png" data-src="http://xiu.xiuimg.com/upload/xiu/96/58/dc15170219625_b_56.com_151201150445.jpg" class="lazy" alt="네이티브 js는 이미지 계단식 캐러셀 전환 effect_javascript 기술을 구현합니다." ></a> <p class="tab_name"><span> </span><em>主播昵称</em></p> </li> <li><i class="cover"> </i> <a href="#"><img src="/static/imghwm/default1.png" data-src="http://xiu.xiuimg.com/upload/xiu/9/90/qq-srntbvlhcw_b_56.com_160106133546.jpg" class="lazy" alt="네이티브 js는 이미지 계단식 캐러셀 전환 effect_javascript 기술을 구현합니다." ></a> <p class="tab_name"><span> </span><em>主播昵称</em></p> </li> </ul> <script type="text/javascript" src="../../lib/seajs/sea.js"></script> <script type="text/javascript" src="../../lib/base/1.0.x/base.js"></script> <script type="text/javascript"> seajs.use(['lib/jquery/1.11.x/index.js','_example/rotateBox/index.js'],function($,carousel) { carousel.init({ wapper: $('#largerImages'), //所有图片以此来按比例定义宽高 imgWidth: 450, imgHeight: 300, spacing: { left: 60, //每张图片左边距离相差多少 top: 30, //每张图片顶部距离相差多少 width: 60, //每张图片宽度相差多少 height: 60 //每张图片高度相差多少 } }); }); </script> </body> </html>
define(function(require, exports, module) { 'use strict'; var $ = require('lib/jquery/1.11.x/index.js'); var carousel = { _initData:false, //判断动画是否执行完毕 init: function(options) { var t = this; t._wapper = options.wapper; t._grids = t._wapper.find('li'); t._gridsWidth = options.imgWidth; t._gridsHeight = options.imgHeight; t._spacing = options.spacing; //取居中图片 t._middle = t._grids.length % 2 == 0 ? t._grids.length / 2 : parseInt(t._grids.length / 2); //存放各图片参数 t._arr = { left: [], top: [], zIndex: [], width: [], height: [] } if ( !t._initData ) { var interval; interval = setInterval(function(){ $('.previous').click(); },10000); } t._largerImages(); t._reposition(); t._mouseEnter(t._grids) //鼠标移动上去显示主播昵称 }, //初始化定位: _largerImages: function() { var t = this; var front = t._middle; var avtive = t._middle; var last = t._grids.length; t._grids.each( function(i, img) { if (i == t._middle) { t._grids.eq(i).css({ zIndex: 99, top: 0, left: t._spacing.left * i, height: t._gridsHeight, width: t._gridsWidth }); } else if ( i < t._middle ) { t._grids.eq(i).css({ zIndex: i, top: t._spacing.top * front, left: t._spacing.left * i, height: t._gridsHeight - t._spacing.height * front, width: t._gridsWidth - t._spacing.width * front }); front--; } else { last --; t._grids.eq(last).css({ zIndex: i, top: t._spacing.top * avtive, left: t._spacing.left * last + t._spacing.width * avtive, height: t._gridsHeight - t._spacing.height * avtive, width: t._gridsWidth - t._spacing.width * avtive }); avtive --; }; }); }, //翻页动画 _reposition: function() { var t = this; //把各属性值传到数组里面 t._grids.each( function(i,img) { t._arr.left.push(t._grids.eq(i).position().left); t._arr.top.push(t._grids.eq(i).position().top); t._arr.width.push(t._grids.eq(i).width()); t._arr.height.push(t._grids.eq(i).height()); t._arr.zIndex.push(t._grids.eq(i).css('z-index')); }); //向前翻页 $('.previous').bind('click',function() { if ( !t._initData && t._arr.left.length != 0) { t._initData = true; //重新获取选择器 var grids = t._wapper.find('li'); for (var i = 1; i < grids.length ; i ++) { grids.eq(i).animate({ zIndex: t._arr.zIndex[i - 1], left: t._arr.left[i - 1], top: t._arr.top[i - 1], width: t._arr.width[i - 1], height: t._arr.height[i - 1], },200, function() { t._initData = false; grids.find('i').addClass('cover'); grids.eq(t._middle + 1).find('i').removeClass('cover'); }); }; grids.eq(0).animate({ left: t._arr.left[ grids.length - 1], top: t._arr.top[ grids.length - 1], width: t._arr.width[ grids.length - 1], height: t._arr.height[ grids.length - 1], zIndex: t._arr.zIndex[ grids.length - 1] },200, function(){ $(this).appendTo(t._wapper); }); } }); //向后翻页 $('.next').bind('click',function() { if ( !t._initData && t._arr.left.length != 0) { t._initData = true; //重新获取选择器 var grids = t._wapper.find('li'); for (var i = 0; i < grids.length - 1; i ++) { grids.eq(i).animate({ left: t._arr.left[i + 1], top: t._arr.top[i + 1], width: t._arr.width[i + 1], height: t._arr.height[i + 1], zIndex: t._arr.zIndex[i + 1] },200,function() { t._initData = false; }); }; grids.eq(grids.length - 1).animate({ left: t._arr.left[0], top: t._arr.top[0], width: t._arr.width[0], height: t._arr.height[0], zIndex: t._arr.zIndex[0] },200, function(){ $(this).prependTo(t._wapper); grids.find('i').addClass('cover'); grids.eq(t._middle - 1).find('i').removeClass('cover'); }); } }); }, //鼠标进入图片效果 _mouseEnter: function(grids) { grids.each(function(i){ $(this).mouseenter(function() { $(this).find('.tab_name').animate({ bottom:0,opacity: 'show' },200); }); $(this).mouseleave(function() { $(this).find('.tab_name').animate({ bottom:-50,opacity: 'hide' },200); }); }); }, }; return carousel; });

Python과 JavaScript의 주요 차이점은 유형 시스템 및 응용 프로그램 시나리오입니다. 1. Python은 과학 컴퓨팅 및 데이터 분석에 적합한 동적 유형을 사용합니다. 2. JavaScript는 약한 유형을 채택하며 프론트 엔드 및 풀 스택 개발에 널리 사용됩니다. 두 사람은 비동기 프로그래밍 및 성능 최적화에서 고유 한 장점을 가지고 있으며 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

Python 또는 JavaScript를 선택할지 여부는 프로젝트 유형에 따라 다릅니다. 1) 데이터 과학 및 자동화 작업을 위해 Python을 선택하십시오. 2) 프론트 엔드 및 풀 스택 개발을 위해 JavaScript를 선택하십시오. Python은 데이터 처리 및 자동화 분야에서 강력한 라이브러리에 선호되는 반면 JavaScript는 웹 상호 작용 및 전체 스택 개발의 장점에 없어서는 안될 필수입니다.

파이썬과 자바 스크립트는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구와 개인 선호도에 따라 다릅니다. 1. Python은 간결한 구문으로 데이터 과학 및 백엔드 개발에 적합하지만 실행 속도가 느립니다. 2. JavaScript는 프론트 엔드 개발의 모든 곳에 있으며 강력한 비동기 프로그래밍 기능을 가지고 있습니다. node.js는 풀 스택 개발에 적합하지만 구문은 복잡하고 오류가 발생할 수 있습니다.

javaScriptisNotBuiltoncorc; it'SangretedLanguageThatrunsonOngineStenWrittenInc .1) javaScriptWasDesignEdasAlightweight, 해석 hanguageforwebbrowsers.2) Endinesevolvedfromsimpleplemporectreterstoccilpilers, 전기적으로 개선된다.

JavaScript는 프론트 엔드 및 백엔드 개발에 사용할 수 있습니다. 프론트 엔드는 DOM 작업을 통해 사용자 경험을 향상시키고 백엔드는 Node.js를 통해 서버 작업을 처리합니다. 1. 프론트 엔드 예 : 웹 페이지 텍스트의 내용을 변경하십시오. 2. 백엔드 예제 : node.js 서버를 만듭니다.

Python 또는 JavaScript는 경력 개발, 학습 곡선 및 생태계를 기반으로해야합니다. 1) 경력 개발 : Python은 데이터 과학 및 백엔드 개발에 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 적합합니다. 2) 학습 곡선 : Python 구문은 간결하며 초보자에게 적합합니다. JavaScript Syntax는 유연합니다. 3) 생태계 : Python에는 풍부한 과학 컴퓨팅 라이브러리가 있으며 JavaScript는 강력한 프론트 엔드 프레임 워크를 가지고 있습니다.

JavaScript 프레임 워크의 힘은 개발 단순화, 사용자 경험 및 응용 프로그램 성능을 향상시키는 데 있습니다. 프레임 워크를 선택할 때 : 1. 프로젝트 규모와 복잡성, 2. 팀 경험, 3. 생태계 및 커뮤니티 지원.

서론 나는 당신이 이상하다는 것을 알고 있습니다. JavaScript, C 및 Browser는 정확히 무엇을해야합니까? 그들은 관련이없는 것처럼 보이지만 실제로는 현대 웹 개발에서 매우 중요한 역할을합니다. 오늘 우리는이 세 가지 사이의 밀접한 관계에 대해 논의 할 것입니다. 이 기사를 통해 브라우저에서 JavaScript가 어떻게 실행되는지, 브라우저 엔진의 C 역할 및 웹 페이지의 렌더링 및 상호 작용을 유도하기 위해 함께 작동하는 방법을 알게됩니다. 우리는 모두 JavaScript와 브라우저의 관계를 알고 있습니다. JavaScript는 프론트 엔드 개발의 핵심 언어입니다. 브라우저에서 직접 실행되므로 웹 페이지를 생생하고 흥미롭게 만듭니다. 왜 Javascr


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기