更有效地编写我的jQuery
Writing my jQuery more efficently
我有两个类似的功能,通过页面上的句柄执行响应菜单切换,请参阅代码:
//responsive main navigation
$(function() {
var pull = $('#pull');
menu = $('.main-nav ul');
menuHeight = menu.height();
$(pull).on('click', function(e) {
e.preventDefault();
menu.slideToggle('fast');
});
});
//responsive blog navigation
$(function() {
var toggle = $('#toggle-handle');
sidebar = $('.blog-sidebar-wrap');
sidebarHeight = sidebar.height();
$(toggle).on('click', function(e) {
e.preventDefault();
sidebar.slideToggle('fast');
});
});
我的问题是如何写这篇文章,这样我就不会重复同样的过程(函数)。我是否设置一个函数并传入参数?最感谢的帮助,jQuery/Javascript初学者在这里!
尝试
//a function that creates a slide based menu
function slideMenu(ctrl, target){
ctrl.on('click', function(e) {
e.preventDefault();
target.slideToggle('fast');
});
}
//responsive main navigation
$(function() {
var pull = $('#pull');
menu = $('.main-nav ul');
menuHeight = menu.height();
slideMenu(pull, menu)
});
//responsive blog navigation
$(function() {
var toggle = $('#toggle-handle');
sidebar = $('.blog-sidebar-wrap');
sidebarHeight = sidebar.height();
slideMenu(toggle, sidebar)
});
$(function() {
effectdemo("#pull",'.main-nav ul');
effectdemo('#toggle-handle','.blog-sidebar-wrap');
});
function effectdemo(starter,sliderconatiner)
{
var toggle = $(starter);
sidebar = $(sliderconatiner);
sidebarHeight = sidebar.height();
$(toggle).on('click', function(e) {
e.preventDefault();
sidebar.slideToggle('fast');
});
}
相关文章:
- 我的jQuery插件参数没有正确启动,遇到了问题
- 我的jquery代码不起作用.为什么?
- 我的jquery中出现NaN错误
- 我如何才能找到哪些网站使用我的jQuery插件
- 如何使用我的Jquery代码创建委托事件侦听器
- 为什么我的jQuery点击函数没有触发
- 我的jQuery加载请求是否被调用了两次
- 为什么我的Jquery.ajax调用会触发错误事件
- 如何触发我的 jquery 表单提交
- 为什么我的jQuery .每次迭代都无法使用每个项目的属性
- 为什么我的jQuery UI对话框不起作用
- 在我的 jquery 函数中得到一个错误
- 我的jQuery UI对话框没有'如果前面没有警告,则不会打开
- 我的jquery在本地工作,但当它'it’s上传到我的网站上,它只起部分作用
- 我的jquery日历没有正确对齐
- 与我的jquery弹出窗口和自动调整文本区域大小有冲突
- 关于我的jQuery脚本+与iDevices的兼容性的建议
- 我的jquery方法没有'不起作用
- 我的jquery代码在谷歌chrome控制台中工作,而不是在保存它之后
- 为什么当我快速移动鼠标时,我的jQuery会崩溃