高分请高手用HTML编写图片流动效果代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高分请高手用HTML编写图片流动效果代码相关的知识,希望对你有一定的参考价值。

我想要在网页中做一个图片流动效果,具体效果点下面这个网页看看,http://flash.jninfo.net 在前面这个网页的中部就有一个图片流动的效果,具体的html代码怎么编写? 做出来的效果最好宽度在430PX左右,高度就前面网页中的高度差不多就可以,最好告诉我在代码中怎么加图片是张数,图片地址放在那,然后设置整体效果是高和宽.请高手指教.
晕死.忘记说了,图片还要有连接网页啊.怎么弄

<script language="javascript">
imgArr=new Array()
imgArr[0]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/l/lisababy6617.gif border=0></a>"
imgArr[1]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/t/testool4434.gif border=0></a>"
imgArr[2]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/s/sxyuda6549.gif border=0></a>"
imgArr[3]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/q/qeji4041.gif border=0></a>"
imgArr[4]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/i/ieasytraining3984.gif border=0></a>"
imgArr[5]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/t/trainings1442.gif border=0></a>"
imgArr[6]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/r/renhebj002indexasp2486.gif border=0></a>"
imgArr[7]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/e/efeedlink6085.gif border=0></a>"
imgArr[8]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/k/kaixingou5811.gif border=0></a>"
imgArr[9]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/h/9happyindex8htm5912.gif border=0></a>"
imgArr[10]="<a href=# onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'><img src=http://image0.sina.com.cn/images/bizsite/promote/c/chinaroom6034.gif border=0></a>"
var moveStep=4 //步长,单位:pixel
var moveRelax=100 //移动时间间隔,单位:ms

ns4=(document.layers)?true:false

var displayImgAmount=4 //视区窗口可显示个数
var divWidth=125 //每块图片占位宽
var divHeight=60 //每块图片占位高

var startDnum=0
var nextDnum=startDnum+displayImgAmount
var timeID
var outHover=false

var startDivClipLeft
var nextDivClipRight

function initDivPlace()
if (ns4)
for (i=0;i<displayImgAmount;i++)
eval("document.divOuter.document.divAds"+i+".left="+divWidth*i)

for (i=displayImgAmount;i<imgArr.length;i++)
eval("document.divOuter.document.divAds"+i+".left="+divWidth*displayImgAmount)

else
for (i=0;i<displayImgAmount;i++)
eval("document.all.divAds"+i+".style.left="+divWidth*i)

for (i=displayImgAmount;i<imgArr.length;i++)
eval("document.all.divAds"+i+".style.left="+divWidth*displayImgAmount)




function mvStart()
timeID=setTimeout(moveLeftDiv,moveRelax)


function mvStop()
clearTimeout(timeID)


function moveLeftDiv()
if (ns4)
for (i=0;i<=displayImgAmount;i++)
eval("document.divOuter.document.divAds"+parseInt((startDnum+i)%imgArr.length)+".left=document.divOuter.document.divAds"+parseInt((startDnum+i)%imgArr.length)+".left-moveStep")


startDivClipLeft=parseInt(eval("document.divOuter.document.divAds"+startDnum+".clip.left"))
nextDivClipRight=parseInt(eval("document.divOuter.document.divAds"+nextDnum+".clip.right"))

if (startDivClipLeft+moveStep>divWidth)
eval("document.divOuter.document.divAds"+nextDnum+".clip.right="+divWidth)

eval("document.divOuter.document.divAds"+startDnum+".left="+divWidth*displayImgAmount)
eval("document.divOuter.document.divAds"+parseInt((nextDnum+1)%imgArr.length)+".left=document.divOuter.document.divAds"+nextDnum+".left+"+divWidth)
eval("document.divOuter.document.divAds"+parseInt((nextDnum+1)%imgArr.length)+".clip.left=0")

startDnum=(++startDnum)%imgArr.length
nextDnum=(startDnum+displayImgAmount)%imgArr.length

startDivClipLeft=moveStep-(divWidth-startDivClipLeft)
nextDivClipRight=moveStep-(divWidth-nextDivClipRight)
else
eval("document.divOuter.document.divAds"+nextDnum+".clip.left=0")
startDivClipLeft+=moveStep
nextDivClipRight+=moveStep

eval("document.divOuter.document.divAds"+startDnum+".clip.left="+startDivClipLeft)
eval("document.divOuter.document.divAds"+nextDnum+".clip.right="+nextDivClipRight)
else
for (i=0;i<=displayImgAmount;i++)
eval("document.all.divAds"+parseInt((startDnum+i)%imgArr.length)+".style.left=document.all.divAds"+parseInt((startDnum+i)%imgArr.length)+".style.pixelLeft-moveStep")


startDivClipLeft=parseInt(eval("document.all.divAds"+startDnum+".currentStyle.clipLeft"))
nextDivClipRight=parseInt(eval("document.all.divAds"+nextDnum+".currentStyle.clipRight"))

if (startDivClipLeft+moveStep>divWidth)
eval("document.all.divAds"+nextDnum+".style.clip='rect(0,"+divWidth+","+divHeight+",0"+")'")

eval("document.all.divAds"+startDnum+".style.left="+divWidth*displayImgAmount)
eval("document.all.divAds"+parseInt((nextDnum+1)%imgArr.length)+".style.left=document.all.divAds"+nextDnum+".style.pixelLeft+"+divWidth)

startDnum=(++startDnum)%imgArr.length
nextDnum=(startDnum+displayImgAmount)%imgArr.length

startDivClipLeft=moveStep-(divWidth-startDivClipLeft)
nextDivClipRight=moveStep-(divWidth-nextDivClipRight)
else
startDivClipLeft+=moveStep
nextDivClipRight+=moveStep

eval("document.all.divAds"+startDnum+".style.clip='rect(0,"+divWidth+","+divHeight+","+startDivClipLeft+")'")
eval("document.all.divAds"+nextDnum+".style.clip='rect(0,"+nextDivClipRight+","+divHeight+",0)'")


if (outHover)
mvStop()
else
mvStart()




function writeDivs()
if (ns4)
document.write("<ilayer name=divOuter width=750 height="+divHeight+">")

for (i=0;i<imgArr.length;i++)
document.write("<layer name=divAds"+i+">")
document.write(imgArr[i]+" ")
document.write("</layer>")

document.write("</ilayer>")
document.close()
for (i=displayImgAmount;i<imgArr.length;i++)
eval("document.divOuter.document.divAds"+i+".clip.right=0")

else
document.write("<div id=divOuter style='position:relative' width=750 height="+divHeight+">")

for (i=0;i<imgArr.length;i++)
document.write("<div id=divAds"+i+" style='position:absolute;clip:rect(0,"+divWidth+","+divHeight+",0)'>")
document.write(imgArr[i]+" ")
document.write("</div>")

document.write("</div>")
for (i=displayImgAmount;i<imgArr.length;i++)
eval("document.all.divAds"+i+".style.clip='rect(0,0,"+divHeight+",0)'")



</script>
<BODY onload=javascript:mvStart()>
<SCRIPT language=JavaScript>writeDivs();initDivPlace();</SCRIPT>

参考资料:http://bbs.51js.com/viewthread.php?tid=945

参考技术A 厉害啊

怎么刷色弱测试高分(我可能是有病才会写这个)

文章目录


色弱测试链接

https://xingye.me/game/colortest/index.html色弱测试链接

代码刷高分

鼠标点击法

色弱测试即是n*n的方块里面有一个方块和其他的方块颜色不同,我们找出这个方块并点击,就会跳到下张图片并获得1分。
我首先想到的是利用鼠标依次点击每个方块,只要鼠标点击的够快,我们就能快速得分。
方块的总体区域没有变化,一开始是4*4,最后会变成9*9,那我们直接设计81个点击区域,让鼠标依次点击即可。

效果演示

色弱测试click

运行代码前需要先获取第一个方块和最后一个方块的位置,然后生成81个方块的位置。

然而鼠标点击和移动的速度是有限制的,不可能一瞬间点击81个地方,因此这种方法虽然有效,但只能刷到60分左右

selenium识别元素法

既然鼠标点击速度有限制,我们不妨直接获取方块的颜色,选中所需的方块直接点击就行了。我们直接使用python的selenium模块获取元素的属性(右键元素,点击检查,既可以看到相应元素)。
可以看到方块的style属性即包含了元素的RGB值。

右键copy xpath,再利用下面这行代码即可以得到元素的style属性
(不会用selenium的建议搜一下怎么配置和使用,我这里用的是selenium2.x,不同版本代码有差异)

xpath = '//*[@id="box"]/span[1]'
color = driver.find_element_by_xpath(xpath).get_attribute("style")


然后既是依次获取每个方块的颜色,找到颜色不同的方块直接点击就行,这样每张图片相当于识别n次(n>=3,因为至少要识别三个方块才能判断哪个方块是应该点击的),点击1次

效果演示

chrome_click

识别元素和网站反应都需要时间,所以分数也是有上限的,经过我测试,能过达到130+

相关代码

position.py,用来确定第一个方块和最后一个方块的位置,得到位置后在click.py代码中修改

import os, time
import pyautogui as pag

while 1:
    try:
        print("Press Ctrl-C to end")
        x, y = pag.position()  # 返回鼠标的坐标
        posStr = "Position(x,y):" + str(x).rjust(4) + ',' + str(y).rjust(4)

        print(posStr)  # 打印坐标
        pix = pag.screenshot().getpixel((x, y))
        print(pix)
        time.sleep(0.5)

    except Exception as e:
        print('end....%s' % e)

    finally:
        pass

click.py,依次点击81个方块的位置(注意修改xs和ys,需要用positipn.py获取位置)

import pyautogui
import time
import sys

def make(start, end, nums):
    interval = (end - start) / (nums - 1)
    ans = [int(start + interval * i) for i in range(nums)]
    return ans

print("屏幕分辨率:", pyautogui.size())
print("鼠标位置:", pyautogui.position())
pyautogui.PAUSE = 0.0001  # 设置每次执行暂停时间
xs = make(860, 1305, 9)
ys = make(267, 707, 9)
xs = xs[::2]+xs[1::2]
ys = ys[::2]+ys[1::2]
start = time.time()
# time.sleep(1)
num = 0
num_seconds = 0.0001  # 将鼠标移动到指定坐标的间隔时间
while 1:
    for x in xs:
        for y in ys:
            pyautogui.moveTo(x, y)  # 把鼠标移动到(500,500)
            pyautogui.click()  # 在原地按鼠标左键
            if time.time() - start > 61:
                sys.exit()

chrome_rgb.py,识别颜色并点击方块的代码,需要配置selenium和chrome驱动

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait    # WebDriverWait 库,负责循环等待
from selenium.webdriver.support import expected_conditions as EC    # expected_conditions 类,负责条件出发
import time

driver = webdriver.Chrome()
driver.get('https://xingye.me/game/colortest/index.html')

# element = WebDriverWait(driver, 5, 0.5).until(EC.presence_of_element_located((By.XPATH, '//*[@id="index"]/div[2]/button')))
driver.find_element_by_xpath('//*[@id="index"]/div[2]/button').click()
start = time.time()
all = 0
while True:
    try:
        index = [1]
        nums = [1]
        colors = [driver.find_element_by_xpath('//*[@id="box"]/span[1]').get_attribute("style")]
        for j in range(2, 82):
            xpath = '//*[@id="box"]/span[%d]' % j
            color = driver.find_element_by_xpath(xpath).get_attribute("style")
            if color not in colors:
                colors.append(color)
                nums.append(1)
                index.append(j)
            else:
                if color == colors[0]:
                    nums[0] += 1
                else:
                    nums[1] += 1
            if len(nums) == 2:
                if nums[0] == 1 and nums[1] == 1:
                    continue
                else:
                    all += 1
                    if nums[0] == 1:
                        xpath = '//*[@id="box"]/span[%d]' % index[0]
                        driver.find_element_by_xpath(xpath).click()
                    else:
                        xpath = '//*[@id="box"]/span[%d]' % index[1]
                        driver.find_element_by_xpath(xpath).click()
                    break

    finally:
        if time.time() - start > 61:
            print(all)
            break
        else:
            continue

以上是关于高分请高手用HTML编写图片流动效果代码的主要内容,如果未能解决你的问题,请参考以下文章

高分悬赏,c语言高手请进

电脑网络高手请进(高分)

250分最高分,请高手解答VB6程序读取网页文本及其链接的方法

怎么设置QTableview底部留白?高分求高手支招!!

怎样用css控制整个网页的文字背景是一样的!请高手指点!谢谢~

高分请高手帮我配制一台电脑。能玩魔兽世界的。