仿淘寶 圖片區域性放大效果
本人前端小白一枚 做了個仿淘寶的圖片放大效果與大家分享一下,還望大神批評
主要思路是 水平放兩個同等大小的div用來分別盛放原圖和放大後的圖片。下圖所示
在img1和img2中放入相同的圖片,div2中使用overflow:hidden屬性使多餘的圖片隱藏達到區域性放大的效果
下面是HTML部分程式碼
<div id="base" style="width: 200px; height: 200px ;position: relative; float:left;"> <img id="base_img" style="position: absolute; height: inherit;width: inherit;" src="marta2jpg.jpg"/> <span id="ks_span" style="position:absolute;width: 100px;height: 100px;" class="ks_span none"></span> </div> <div id="show_contain" class="none" style="width: 200px; height: 200px ;position: relative; float:left;overflow: hidden;border: 1px solid #F0F0F0"> <img id="show" style="position: absolute; height: 400px;width: 400px;" src=""> </div>
網狀遮罩層的實現:利用 background-repeat: repeat;background-position: 0 0;background-image: url("back2-1.png");
把2畫素*2畫素的圖片重複填充滿span元素 將span元素背景顏色設定透明
網狀層整體樣式
.ks_span{ background-attachment: scroll; background-repeat: repeat; cursor: move; z-index: 1; position: absolute; overflow: hidden; background-position: 0 0; background-color: transparent; background-image: url("back2-1.png"); }
在div1中獲取滑鼠位置 根據滑鼠的位置去改變img2 的top和left屬性,使img2根據滑鼠的移動把不同的部分顯
示在div2中。
下面是獲取滑鼠位置的幾種方法:
event物件不說了,主要寫獲取滑鼠位置的方法:
1.event.clientX、event.clientY 獲取滑鼠相對於瀏覽器視窗可視區域(不包括工具欄和滾動條)的橫縱座標。
2.event.pageX、event.pageY 獲取滑鼠相對於文件也就是body的位置 event.pageX = event.clientX+橫向滾動
條距離,event.pageY = event.clientY + 縱向滾動條距離。
3.event.offsetX、event.offsetY 獲取滑鼠相對於事件源元素的橫縱座標。
4.event.screenX、event.screenY 獲取滑鼠相對於螢幕邊緣的橫縱座標。
我使用的是第二種pageX與pageY,
網狀層與滑鼠主要幾個位置圖:
使滑鼠位於span的中心 滑鼠位置與span的left和top都相差50px 所以用滑鼠的座標減去50得到span的top和left的
值但是body有預設的margin值為8px這裡沒有處理,所以要減去58。實現網狀層跟隨滑鼠移動使用onmousemove
事件不停地改變span的top和left值。
接下來根據滑鼠的位置得到img2的top和left值,當滑鼠向下移動img2需要向上移動才能把下面的圖片顯示出來相同
滑鼠向上移動img2需要向下移動,所以img2的top和left值需要是負值。當滑鼠在12線上時span的邊界已經和div1
的邊界相接圖片此時應該顯示到邊界。所以img2的top為0,此時滑鼠y值為58 ,所以img2 top為58-y 然而在34線上
span下邊界與div1相接所以img2的top值應為-200,此時滑鼠y值為158,-200正好等於2*(58 - y),左右也是這樣
分析 所以滑鼠位置與img2top與left 的關係就是116-2*y和116-2*x。
當滑鼠超出1234線的範圍是img2和span都不需要移動了只需要用if條件限制
JavaScript程式碼:
<script>
var base = document.getElementById("base");
var show = document.getElementById("show");
var base_img = document.getElementById("base_img");
var show_contain = document.getElementById("show_contain");
var sk_span = document.getElementById("ks_span");
base.onmousemove = function (event) {
var x = event.pageX ;
var y = event.pageY ;
var draw = base_img.getAttribute("src")
show.setAttribute("src",draw);
if (y>=58 && y<=158){
sk_span.style.top = y-58+"px";
show.style.top = 116-2*y + "px";
}
if (x>=58 && x<=158){
sk_span.style.left = x-58+"px";
show.style.left = 116-2*x + "px";
}
show_contain.classList.remove("none");
sk_span.classList.remove("none");
};
base.onmouseout = function () {
show_contain.classList.add("none");
sk_span.classList.add("none");
show.setAttribute("src","");
}
</script>
以下是整體程式碼以及圖片元素的下載地址
相關推薦
仿淘寶 圖片區域性放大效果
本人前端小白一枚 做了個仿淘寶的圖片放大效果與大家分享一下,還望大神批評 主要思路是 水平放兩個同等大小的div用來分別盛放原圖和放大後的圖片。下圖所示 在img1和img2中放入相同的圖片,div2中使用overflow:hidden屬性使多餘的圖片隱藏達到區域性放大的
Android開發仿淘寶商品詳情瀏覽效果 兩步曲
效果圖: 第一步佈局檔案: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr
android自定義ProgressBar(仿淘寶)的載入效果
三種方式實現自定義圓形頁面載入中效果的進度條 To get a ProgressBar in the default theme that is to be used on white/light back ground, use one of the inverse st
Android/安卓仿淘寶直播點贊效果/qq空間點贊效果動畫
之前玩淘寶誤入它的直播頻道,發現它的直播介面的點贊效果挺好看,然後發現QQ控制元件點贊有類似動畫,於是趁有空花了點時間玩玩。 先上個效果圖: 添加了一個按鈕模擬點贊,點選多少次就出現多個水果,他們的運動軌跡和速度是不一樣的,而且帶有淡入淡出效果。這是淘寶直播的效果,qq
android 仿淘寶的載入重新整理效果
自定義view: package com.taobao.view; import android.content.Context; import android.util.AttributeSet
Android之仿淘寶商品詳情瀏覽效果
-----------------轉載請註明出處:http://blog.csdn.net/android_cll 一:先來幾張效果圖,沒有弄gif動畫,也就是商品詳情滑動到底部繼續上滑檢視圖文詳情、 二:實現步驟: 1.自定義一個父容器ScrollVi
Winform圖片區域性放大效果
有兩個picturebox控制元件,name預設沒有修改。其中picturebox1的img賦予初始值,picturebox2的visible=false;其餘不變,程式比較簡單,看以參考下。 [csharp] view plain copy print? using System; u
jquery---仿淘寶商品圖片區域性放大
本篇博文用於簡單記錄圖片放大功能實現 功能實現還存在一些小漏洞在文章結尾提出,希望各位指正 1、圖片放大初考慮將圖片轉換為字型圖片形式,然後進行放大處理,但最終本人技術不過關無法實現,後用width: 200%;進行一般的圖片放大,所以當圖片越大就存在一些失真; 2、圖
仿淘寶的一個圖片動畫效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w
js實現圖片滑動及放大鏡效果(仿淘寶京東圖片展示)
程式碼地址: https://github.com/EsionChang/HTML/tree/master/ThreeInOne 實現效果為: 滑鼠放到小圖上,上部的大圖會滑動到相應的位置,滑動方式為減速。滑鼠移動到上部的大圖上,會顯示大圖的對應放大部位。
仿淘寶實現滑鼠移入圖片,圖片放大功能
<!doctype html><html><head><meta charset="utf-8"><title>無標題文件</title><style> *{margin: 0;paddin
使用原生js實現仿淘寶放大鏡效果
放大鏡實現步驟 1.獲取元素 2.實現滑鼠移上時顯示小方塊 和大圖 3.再新增中圖的移動事件 獲取滑鼠的座標付給小方塊 注意必須座標還要減去小方塊的寬高的一半 讓游標在中間顯示 4.實現大圖同比例的顯示 原理:游標移動的座標/大圖移動的座標=中圖的寬度/大圖的寬度 求的是大圖
仿淘寶商品放大鏡效果
效果圖: 原始碼: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title>
Android 仿淘寶商品詳情標題欄變色,佈局層疊效果
如圖效果 思路:如圖可以將圖片中佈局分成三個部分,1標題欄透明背景,2上半部分佈局,3下半部分佈局,當我們向上拉動的時候,1佈局實現漸變,從透明變到白色,2佈局背景色漸變到白色,23佈局隨滾動條上拉,並且慢慢改變2佈局paddingtop的屬性,其中1佈局漂浮在整個scro
仿淘寶商品詳情頁[帶有視訊和圖片的輪播功能]
因為工作需求的原因,自己寫了一個demo,既實現了功能,又能與大家分享,很高興!Demo已上傳GitHub,https://github.com/xinniangdeweidao/CloneTaobaoProductsDetails.git 轉載請註明出處,謝謝!
原生js實現淘寶圖片放大功能
目錄結構:HTML:<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="
圖片自動輪播(仿淘寶??)
先上效果圖(給美宅瘋狂打call~) 是不是你們要找的效果,是的話就繼續往下看hahaha 上重點(敲黑板)!!! js <script> $(function () { var containl
網頁中商品圖片的區域性放大效果
需求背景:購物網站中的商品區域性放大: 程式碼: html: <div class="Pro_Detleft"> <div class="detail-itemsummary-imageviewer">
仿淘寶、京東首頁圖片廣告垂直滑動
這是我從事Android開發以來寫的第一篇部落格,以後會不定期的將我所學習到的東西,分享出來,希望大家能多多批評指正。 言歸正傳,這篇部落格我要說的是仿淘寶、京東首頁的可滑動的導航,不同的是,我做的不是水平方向的,而是垂直方向的,其實很簡單,就是重寫ViewPa
ANDROID廣告輪播DEMO_仿淘寶廣告輪播_滑動圖片廣告例子
今天在專案中遇到了這樣的需求、輪播圖片來展示商品、剛剛已經分享了一種方法 但是我覺得這種還是達不到我的要求、所以我後臺又換了一種方式、比較好 跟淘寶京東的商品展示非常像、很符合的我胃口、現在分享出來、供大家使用 程式碼簡單、設定簡單、自定