无法更改此 JavaScript 以在 mousemove 上读取高度小于宽度
所以我试图设置这个 jQuery CSS 停靠栏菜单,您可以在设置中输入附近内容。接近程度决定了何时触发缩放,但您只能输入一个距离——高度和宽度相同。我如何更改此代码以允许输入一个高度和一个宽度 -或者 - 我怎样才能只输入一个值,但将垂直值切成两半?任何一个都有效...这是我认为需要更改的代码...如果您需要整个事情,请告诉我,我将发布其余部分有
jQuery(document).bind('mousemove', function(e) {
var pointer = jQuery.iUtil.getPointer(e);
var toAdd = 0;
if (el.fisheyeCfg.halign && el.fisheyeCfg.halign == 'center')
var posx = pointer.x - el.fisheyeCfg.pos.x
- (el.offsetWidth - el.fisheyeCfg.itemWidth * el.fisheyeCfg.items.size())
/ 2 - el.fisheyeCfg.itemWidth / 2;
else if (el.fisheyeCfg.halign && el.fisheyeCfg.halign == 'right')
var posx = pointer.x - el.fisheyeCfg.pos.x - el.offsetWidth
+ el.fisheyeCfg.itemWidth * el.fisheyeCfg.items.size();
else
var posx = pointer.x - el.fisheyeCfg.pos.x;
var posy = Math.pow(pointer.y - el.fisheyeCfg.pos.y - el.offsetHeight / 2, 2);
el.fisheyeCfg.items.each(function(nr) {
distance = Math.sqrt(Math.pow(posx - nr * el.fisheyeCfg.itemWidth, 2) + posy);
distance -= el.fisheyeCfg.itemWidth / 2;
distance = distance < 0 ? 0 : distance;
distance = distance > el.fisheyeCfg.proximity ? el.fisheyeCfg.proximity : distance;
distance = el.fisheyeCfg.proximity - distance;
extraWidth = el.fisheyeCfg.maxWidth * distance / el.fisheyeCfg.proximity;
this.style.width = el.fisheyeCfg.itemWidth + extraWidth + 'px';
this.style.left = el.fisheyeCfg.itemWidth * nr + toAdd + 'px';
toAdd += extraWidth;
});
jQuery.iFisheye.positionContainer(el, toAdd);
});
任何想法吗?
谢谢,
马特
So I'm trying to set up this jQuery CSS dock menu and you can enter in a proximity in the setup. The proximity determines when the zoom will be triggered, but you only get to put in one distance -- same for height and width. How can I change this code to allow to enter in a single one for height and a single one for width -OR- how can I just have one value entered in but have the vertical one cut in half? either one works... here's the bit of code that I think needs to be changed... if you need the whole thing let me know and I'll post the rest of it
jQuery(document).bind('mousemove', function(e) {
var pointer = jQuery.iUtil.getPointer(e);
var toAdd = 0;
if (el.fisheyeCfg.halign && el.fisheyeCfg.halign == 'center')
var posx = pointer.x - el.fisheyeCfg.pos.x
- (el.offsetWidth - el.fisheyeCfg.itemWidth * el.fisheyeCfg.items.size())
/ 2 - el.fisheyeCfg.itemWidth / 2;
else if (el.fisheyeCfg.halign && el.fisheyeCfg.halign == 'right')
var posx = pointer.x - el.fisheyeCfg.pos.x - el.offsetWidth
+ el.fisheyeCfg.itemWidth * el.fisheyeCfg.items.size();
else
var posx = pointer.x - el.fisheyeCfg.pos.x;
var posy = Math.pow(pointer.y - el.fisheyeCfg.pos.y - el.offsetHeight / 2, 2);
el.fisheyeCfg.items.each(function(nr) {
distance = Math.sqrt(Math.pow(posx - nr * el.fisheyeCfg.itemWidth, 2) + posy);
distance -= el.fisheyeCfg.itemWidth / 2;
distance = distance < 0 ? 0 : distance;
distance = distance > el.fisheyeCfg.proximity ? el.fisheyeCfg.proximity : distance;
distance = el.fisheyeCfg.proximity - distance;
extraWidth = el.fisheyeCfg.maxWidth * distance / el.fisheyeCfg.proximity;
this.style.width = el.fisheyeCfg.itemWidth + extraWidth + 'px';
this.style.left = el.fisheyeCfg.itemWidth * nr + toAdd + 'px';
toAdd += extraWidth;
});
jQuery.iFisheye.positionContainer(el, toAdd);
});
Any ideas?
Thanks,
Matt
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我对剧本进行了一番修改,最终修改的内容比我计划的要多一些。
您现在需要使用一些新参数调用脚本:
itemHeight
、proximityX
和proximityY
我没有缩小它,但这里是修改后的插件完整:
I messed around with the script and ended up changing it a bit more than I planned.
You will now need to call the script using a few new parameters:
itemHeight
,proximityX
andproximityY
I didn't minify it, but here is the modified plugin in full: