谷歌浏览器中的 jQuery 表单和鼠标悬停问题

发布于 2024-12-11 07:21:32 字数 1469 浏览 0 评论 0原文

我有一个包含在 iFrame 中的页面(其中嵌入了外部 html 页面),该页面有一个表单,当鼠标悬停在表单提交按钮上时,它会在提交之前计算表单的隐藏值。

我还使用表单中的 smoothzoom 库(http://codecanyon.net/item/smooth-zoom-pan-jquery-image-viewer/full_screen_preview/511142)。

示例计算是根据裁剪视图的左侧偏移计算图像的左侧偏移。

我已经检查了 chrome 和 firefox 中的元素。

鼠标悬停时,所有隐藏字段都会在 Firefox 中更新。

当在 Chrome 中时,只有其中两个更新。 X 和 Y。

这是我正在使用的 jQuery。

var hovered = false;
$(function(){
   $('#image').smoothZoom({
      width: 270,
      height: 270,
      zoom_MAX: 600,
      animation_SPEED: 0.001,
      animation_SMOOTHNESS: 0,
      initial_ZOOM: '100',
      initial_POSITION: '0 0'
   });
   $('#headerImageCont').hover(function(){
      hovered = true;
   },function(){
      hovered = false;
   });
   $(window).bind("mousewheel", function(event, delta){
      if (hovered === true){
         return false;
      }
   });
   $('#saveButton').mouseover(function(){
      $('#x').val(-$('#image').position().left); //needs to be inverted
      $('#y').val(-$('#image').position().top); //needs to be inverted
      $('#ScaleX').val($('#image').width() / 500);
      $('#ScaleY').val($('#image').height() / 423);
      $('#Scale').val($('#image').width() / 500 * 100);
      $('#target_width').val($('#headerImageCont').width());
      $('#target_height').val($('#headerImageCont').height());
      $('#actual_width').val($('#image').width());
      $('#actual_height').val($('#image').height());
   });
});

I have a page containined in an iFrame (With an external html page embedded in it) this page has a form and upon mouseover of the form submit button it calculates the hidden values of the form before submission.

I am in addition using the smoothzoom library in the form (http://codecanyon.net/item/smooth-zoom-pan-jquery-image-viewer/full_screen_preview/511142).

An example calculation is offset left of image calculated against the offset left of crop view.

I have inspected the elements in both chrome and firefox.

On mouseover all of the hidden fields update in firefox.

When as in chrome only two of them update. The X and Y.

Here is the jQuery I am using.

var hovered = false;
$(function(){
   $('#image').smoothZoom({
      width: 270,
      height: 270,
      zoom_MAX: 600,
      animation_SPEED: 0.001,
      animation_SMOOTHNESS: 0,
      initial_ZOOM: '100',
      initial_POSITION: '0 0'
   });
   $('#headerImageCont').hover(function(){
      hovered = true;
   },function(){
      hovered = false;
   });
   $(window).bind("mousewheel", function(event, delta){
      if (hovered === true){
         return false;
      }
   });
   $('#saveButton').mouseover(function(){
      $('#x').val(-$('#image').position().left); //needs to be inverted
      $('#y').val(-$('#image').position().top); //needs to be inverted
      $('#ScaleX').val($('#image').width() / 500);
      $('#ScaleY').val($('#image').height() / 423);
      $('#Scale').val($('#image').width() / 500 * 100);
      $('#target_width').val($('#headerImageCont').width());
      $('#target_height').val($('#headerImageCont').height());
      $('#actual_width').val($('#image').width());
      $('#actual_height').val($('#image').height());
   });
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

养猫人 2024-12-18 07:21:32

chrome 中的图像在此特定浏览器中不使用宽度和高度。
相反,我将原始宽度和高度乘以 X 和 Y 比例。

这可以通过此代码使用 chromes webkit 值来实现。
http://jsfiddle.net/umZHA/

我希望这对某人有帮助。

谢谢你的帮助,马可

The image in chrome did not use width and height in this particular browser.
Instead I multiply the original width and height by the scale X and Y.

This can be achieve using chromes webkit values via this code..
http://jsfiddle.net/umZHA/

I hope this helps someone.

Thank you for your help Marco

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文