欢迎讨论指正!
print.html代码:
<!DOCTYPE html> <html> <head> <meta http-equiv=Content-Type content="text/html;charset=utf-8"> <title>发票打印</title> </head> <script type="text/javascript" src="js/jquery-2.1.1.js"></script> <script type="text/javascript" src="js/print.js"></script> <body> <div name="invoice"> <div name="stuname" id="stuname">姓名:张三</div> <div name="feeacount" id="feeacount">金额:1000元</div> <div name="schoolname" id="schoolname">单位:浙江大学</div> </div> </body> </html>
print.js代码:
/** * @name print.js * @page print.html * @author mingzijian */ $(function() { // 设定元素相对原点的初始位置 var init_x = 0; var init_y = 0; // 设定各元素的初始位置 var _stuname = $("#stuname"); var stuname_x = 10; var stuname_y = 10; var _feeacount = $("#feeacount"); var feeacount_x = 10; var feeacount_y = 70; var _schoolname = $("#schoolname"); var schoolname_x = 10; var schoolname_y = 40; var ids = [ _stuname, _feeacount, _schoolname ]; var ids_x = [ stuname_x, feeacount_x, schoolname_x ]; var ids_y = [ stuname_y, feeacount_y, schoolname_y ]; // 循环添加元素移动事件监听,添加绝对定位,改变鼠标指针样式 $.each(ids, function(i, _this) { _this.css({ 'position' : 'absolute', 'cursor' : 'crosshair', 'left' : ids_x[i], 'top' : ids_y[i] }); _this.mousedown(function(e) { beginmove(e, _this); }); }); // 开始移动元素位置 function beginmove(e, _this) { // 当前元素的位置 var offset = _this.offset(); var cx = offset.left; var cy = offset.top; // 当前鼠标的位置(移动前,鼠标按下) var sx = e.pageX; var sy = e.pageY; // 计算当前鼠标和元素之间位置的偏移量,让移动后的元素以鼠标按下时的位置为坐标。(默认以元素左上点为坐标) var px = sx - cx; var py = sy - cy; // 绑定鼠标的移动事件,因为光标在DIV元素外面也要有效果,所以要用doucment的事件,而不用DIV元素的事件 $(document).bind("mousemove", function(ev) { // 当前鼠标的位置(移动后,鼠标弹起) sx = ev.pageX; sy = ev.pageY; // 当前元素位置 var _x = sx - px; var _y = sy - py; // 设定元素位置 _this.css({ 'left' : _x, 'top' : _y }); }); // 当鼠标按键弹起时,解除元素移动,让元素停留在当前位置 $(document).mouseup(function() { $(this).unbind("mousemove"); // 记录元素位置 $.each(ids, function(i, _this) { // 当前元素的位置 var offset = _this.offset(); var cx = offset.left; var cy = offset.top; // 保存位置 ids_x[i] = cx; ids_y[i] = cy; }); }) } });
相关推荐
**jQuery 自定义可移动弹窗插件** ...它不仅提供了基本的显示和隐藏功能,还支持用户通过鼠标拖动来调整弹窗位置,增强了用户体验。对于开发者而言,理解和使用这样的插件有助于提升网页的交互性和易用性。
3. **CSS定位**:为了实现拖拽效果,需要改变图片元素的`position`属性为`absolute`或`relative`,然后实时更新其`left`和`top`坐标,以跟随鼠标的移动。 4. **数据存储**:在拖拽过程中,需要记录当前被拖动图片的...
同时,为了提供更好的视觉反馈,拖动过程中会显示一个等宽高的虚框,这个虚框随着鼠标的移动而移动,使得用户可以直观地看到弹窗将要移动到的位置。 实现这一效果可能涉及到以下几个步骤: 1. **初始化**:在页面...
在这个项目中,jQuery被用来创建一个交互式的、可拖动的卡片元素,当用户释放鼠标时,卡片会以平滑的动画效果飞入指定位置,模拟炉石传说游戏中的卡牌飞行动作。 首先,理解jQuery的DOM操作是关键。在实现拖拽功能...
2. `drag`事件处理函数:根据鼠标的移动计算元素的新位置,并更新元素的位置。 3. `dragend`事件处理函数:拖动结束后,可能需要执行一些清理工作,比如重置拖动状态。 4. `dblclick`事件处理函数:双击事件触发时,...
本项目聚焦于一个特定的需求——"jquery图片标注插件增强",这涉及到使用JavaScript库,尤其是jQuery,来实现对图片的标注功能,以便记录图片上的水印位置。以下是对这个主题的详细阐述: 首先,`cropper`是一个...
在`mousedown`事件中记录初始位置,在`mousemove`事件中更新图片位置,`mouseup`事件则停止移动。 4. **CSS样式控制**:CSS用于定义元素的外观和布局,包括图片的初始位置、大小和透明度等。在点击展开特效中,可能...
本项目“类似google可拖动个性页面demo”旨在实现一个与Google类似的交互式界面,用户可以通过拖动来调整页面元素的位置,打造个性化的布局。这样的功能常见于桌面应用、网页设置以及某些定制化服务的平台。 首先,...
标题中的“页面拖拽功能”指的是在Web应用中实现用户可以通过鼠标拖动页面元素来执行特定操作的技术。这种功能常见于各种网页编辑器、富文本编辑器以及某些交互式应用中,增强了用户的交互体验。 在描述中提到的...
《jQuery页面右下角浮动窗口实现详解》 在网页设计中,为了提升用户体验,有时我们需要在页面的右下角设置一个浮动窗口,用于显示通知、广告或者提供客服服务。jQuery作为一个强大的JavaScript库,提供了丰富的功能...
2. **事件监听**:通过监听鼠标和触摸事件,捕捉用户的操作,实现图形的动态更新。 3. **布局算法**:对于复杂的图形,可能需要自动布局算法来优化节点的位置,使其看起来更加整洁有序。 4. **拖放功能**:利用HTML5...
在jQuery中,可以使用`$.on('mousedown', function() {...})`来监听鼠标按下事件,`$.on('mousemove', function() {...})`来处理鼠标移动,以及`$.on('mouseup', function() {...})`来响应鼠标释放。 3. **计算和...