以前写的商品放大镜demo

效果预览:


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
#box1{
width:400px;
height:400px;
border:solid 1px blue;
position: relative;
left:0;top:0;
background: url(img/TB2KJgidB0kpuFjy1zdXXXuUVXa_!!1580757763.jpg_400x400.jpg)
no-repeat;
float: left;
cursor: crosshair;
}
#sk{width: 220px;height:200px;background:#EBEDEA;position: absolute;
left:0;top:0;
filter:alpha(opacity:30);/* ie*/
opacity:0.3;/*其他*/
display: none;}
#box3{
width:400px;
height:400px;
/* background: red;*/
position: relative;
left:0;top:0;

}
#box2{width: 440px;height:400px;float: left;border: 1px solid green;
margin-left:50px;overflow: hidden;position: relative;display: none;
}
#tp{position: absolute;left:0 top:0;
}
</style>
<script type="text/javascript">
window.οnlοad=function(){
var box1=document.getElementById("box1");
var box2=document.getElementById("box2");
var box3=document.getElementById("box3");
var sk=document.getElementById("sk");
// alert(sk.style.left); 
box3.οnmοusemοve=function(e){
var dx=window.event||e;
var mousele=dx.offsetX||dx.layerX;
var mouseto=dx.offsetY||dx.layerY;
var skleft=mousele-110;
var sktop=mouseto-100;
sk.style.display='block';
box2.style.display='block';
if(skleft>180){skleft=180} ;
if(skleft<0){skleft=0} ;
if(sktop<0){sktop=0};
if(sktop>200){sktop=200};
sk.style.left=skleft+'px';
sk.style.top=sktop+'px';
// alert(sk.style.left);
tp.style.left=-2*skleft+'px';
tp.style.top=-2*sktop+'px';
}
box3.οnmοuseοut=function(){
sk.style.display='none';
box2.style.display='none';
}
}
</script>
</head>


<body>
<div id="box1">
<div id="sk"></div>
<div id="box3"></div>
</div>
<div id="box2">
<img id="tp" src="img/TB239oudwJlpuFjSspjXXcT.pXa_!!1580757763.jpg"/>
</div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当您在Java程序中需要调用C/C++代码时,可以使用Java Native Interface(JNI)来实现。下面是一个简单的JNI示例,演示了如何将Java方法与C函数相互调用: 1. 创建一个Java类,例如"JNIDemo.java",其中包含您想要调用的本地方法: ```java public class JNIDemo { // 本地方法声明 public native void sayHello(); // 加载本地库 static { System.loadLibrary("jni_demo"); // 加载名为"jni_demo"的本地库 } // 测试 public static void main(String[] args) { JNIDemo demo = new JNIDemo(); demo.sayHello(); // 调用本地方法 } } ``` 2. 在命令行中使用`javac`编译Java类:`javac JNIDemo.java`。 3. 生成C头文件,可以使用`javah`工具:`javah JNIDemo`。这将生成名为"JNIDemo.h"的头文件。 4. 创建一个C源文件,例如"jni_demo.c",实现您在Java中声明的本地方法: ```c #include <stdio.h> #include "JNIDemo.h" JNIEXPORT void JNICALL Java_JNIDemo_sayHello(JNIEnv *env, jobject obj) { printf("Hello from C!\n"); } ``` 5. 在命令行中使用C编译器编译C源文件,并生成共享库文件(DLL或SO): - 对于Windows(使用MinGW):`gcc -shared -I"%JAVA_HOME%\include" -I"%JAVA_HOME%\include\win32" jni_demo.c -o jni_demo.dll` - 对于Linux/Mac:`gcc -shared -I"$JAVA_HOME/include" -I"$JAVA_HOME/include/linux" jni_demo.c -o libjni_demo.so` 注意:请将`$JAVA_HOME`替换为您Java安装的实际路径。 6. 运行Java程序:`java JNIDemo`。您将看到输出:"Hello from C!"。 这是一个简单的JNI示例,演示了如何在Java和C之间进行方法调用。您可以根据自己的需求扩展和定制此示例。希望对您有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值