123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- function show1() {
- var aTrue = document.getElementsByClassName(true);
- var aFalse = document.getElementsByClassName(false);
- var x = 1;
- if (aTrue[0].style.display != "none") {
- aTrue[0].style.display = "none";
- aFalse[0].style.display = "inline";
- } else {
- aTrue[0].style.display = "inline";
- aFalse[0].style.display = "none";
- }
- }
- window.addEventListener('load', function() {
- var preview_img = document.querySelector('.preview_img');
- var mask = document.querySelector('.mask');
- var big = document.querySelector('.big');
- // 1. 当我们鼠标经过 preview_img 就显示和隐藏 mask 遮挡层 和 big 大盒子
- preview_img.addEventListener('mouseover', function() {
- mask.style.display = 'block';
- big.style.display = 'block';
- })
- preview_img.addEventListener('mouseout', function() {
- mask.style.display = 'none';
- big.style.display = 'none';
- })
- // 2. 鼠标移动的时候,让黄色的盒子跟着鼠标来走
- preview_img.addEventListener('mousemove', function(e) {
- // (1). 先计算出鼠标在盒子内的坐标
- var x = e.pageX - this.offsetLeft;
- var y = e.pageY - this.offsetTop;
- // console.log(x, y);
- // (2) 减去盒子高度 300的一半 是 150 就是我们mask 的最终 left 和top值了
- // (3) 我们mask 移动的距离
- var maskX = x - mask.offsetWidth / 2;
- var maskY = y - mask.offsetHeight / 2;
- // (4) 如果x 坐标小于了0 就让他停在0 的位置
- // 遮挡层的最大移动距离
- var maskMax = preview_img.offsetWidth - mask.offsetWidth;
- if (maskX <= 0) {
- maskX = 0;
- } else if (maskX >= maskMax) {
- maskX = maskMax;
- }
- if (maskY <= 0) {
- maskY = 0;
- } else if (maskY >= maskMax) {
- maskY = maskMax;
- }
- mask.style.left = maskX + 'px';
- mask.style.top = maskY + 'px';
- // 3. 大图片的移动距离 = 遮挡层移动距离 * 大图片最大移动距离 / 遮挡层的最大移动距离
- // 大图
- var bigIMg = document.querySelector('.bigImg');
- // 大图片最大移动距离
- var bigMax = bigIMg.offsetWidth - big.offsetWidth;
- // 大图片的移动距离 X Y
- var bigX = maskX * bigMax / maskMax;
- var bigY = maskY * bigMax / maskMax;
- bigIMg.style.left = -bigX + 'px';
- bigIMg.style.top = -bigY + 'px';
- window.onload = function() {
- var oSc = document.getElementById('shoucang');
- var onOff = true;
- oSc.onclick = function() {
- if (onOff) {
- oSc.innerHTML = '<i class="yishoucang"></i>' + '已收藏';
- oSc.style.backgroundColor = '#87aab5';
- onOff = false;
- } else {
- oSc.innerHTML = '收藏文章';
- oSc.style.backgroundColor = '#87aab5';
- onOff = true;
- }
- };
- oSc.onmouseover = function() {
- if (onOff) {
- oSc.style.backgroundColor = '#03a6d7';
- } else {
- oSc.innerHTML = '取消收藏';
- oSc.style.backgroundColor = '#527884';
- }
- };
- oSc.onmouseout = function() {
- if (onOff) {
- oSc.style.backgroundColor = '#00b7ee';
- } else {
- oSc.innerHTML = '<i class="yishoucang"></i>' + '已收藏';
- oSc.style.backgroundColor = '#87aab5';
- }
- };
- }
- })
- })
|