Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-向函数添加代码以简化(停止重复类似的事情)_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-向函数添加代码以简化(停止重复类似的事情)

Javascript jQuery-向函数添加代码以简化(停止重复类似的事情),javascript,jquery,Javascript,Jquery,我是jQuery新手,所以如果这是一个愚蠢的问题,我道歉:) 我面临的挑战是如何使我的团队使用的代码足够简单,以允许“技能”较低的人进行更新 我已经为所有需要更改的内容设置了变量,并且按照我的预期工作 我唯一的疑问是,我会一遍又一遍地运行相同的4件事情,我觉得我可以在函数中实现我想要的东西 这里有一把小提琴,上面有3个不同的横幅: 我针对不同的横幅重复了几次: var $primaryBanner1 = $('#banner-01'); $primaryBanner1.attr('title',

我是jQuery新手,所以如果这是一个愚蠢的问题,我道歉:)

我面临的挑战是如何使我的团队使用的代码足够简单,以允许“技能”较低的人进行更新

我已经为所有需要更改的内容设置了变量,并且按照我的预期工作

我唯一的疑问是,我会一遍又一遍地运行相同的4件事情,我觉得我可以在函数中实现我想要的东西

这里有一把小提琴,上面有3个不同的横幅:

我针对不同的横幅重复了几次:

var $primaryBanner1 = $('#banner-01');
$primaryBanner1.attr('title', primaryOneTxt);
$primaryBanner1.html("<h2>" + primaryOneTxt + "</h2>");
$primaryBanner1.attr('href', primaryOneUrl);
$primaryBanner1.css("background", "url("+primaryOneImg+")");
var$primarybaner1=$(“#banner-01”);
$primaryBanner1.attr('title',PrimaryOneText);
$primaryBanner1.html(“+PrimaryOneText+”);
$primaryBanner1.attr('href',primaryOneUrl);
$primarybaner1.css(“背景”、“url”(+primaryOneImg+));
有没有办法把它简化成一个更小的函数?而不是每页有15次相同的4行

任何帮助都会非常好


谢谢

只需创建一个执行重复操作的函数,并传入动态变量即可

function styleBanner(selector, txt, url, img){
  var $el = $(selector);
  $el.attr({
    title: txt,
    href: url
  }).css('background', 'url('+img+')')
    .html('<h2>'+txt+'</h2>');

  return $el;
}

var $primaryBanner1 = styleBanner('#banner-01', primaryOneTxt, primaryOneUrl, primaryOneImg);
函数样式横幅(选择器、txt、url、img){
变量$el=$(选择器);
$el.attr({
标题:txt,
href:url
}).css('background','url('+img+'))
.html(“”+txt+“”);
返回$el;
}
var$primarybaner1=styleBanner('#banner-01',primaryonext,primaryOneUrl,primaryOneImg);

只需创建一个执行重复操作的函数,并传入动态变量即可

function styleBanner(selector, txt, url, img){
  var $el = $(selector);
  $el.attr({
    title: txt,
    href: url
  }).css('background', 'url('+img+')')
    .html('<h2>'+txt+'</h2>');

  return $el;
}

var $primaryBanner1 = styleBanner('#banner-01', primaryOneTxt, primaryOneUrl, primaryOneImg);
函数样式横幅(选择器、txt、url、img){
变量$el=$(选择器);
$el.attr({
标题:txt,
href:url
}).css('background','url('+img+'))
.html(“”+txt+“”);
返回$el;
}
var$primarybaner1=styleBanner('#banner-01',primaryonext,primaryOneUrl,primaryOneImg);

只需创建一个执行重复操作的函数,并传入动态变量即可

function styleBanner(selector, txt, url, img){
  var $el = $(selector);
  $el.attr({
    title: txt,
    href: url
  }).css('background', 'url('+img+')')
    .html('<h2>'+txt+'</h2>');

  return $el;
}

var $primaryBanner1 = styleBanner('#banner-01', primaryOneTxt, primaryOneUrl, primaryOneImg);
函数样式横幅(选择器、txt、url、img){
变量$el=$(选择器);
$el.attr({
标题:txt,
href:url
}).css('background','url('+img+'))
.html(“”+txt+“”);
返回$el;
}
var$primarybaner1=styleBanner('#banner-01',primaryonext,primaryOneUrl,primaryOneImg);

只需创建一个执行重复操作的函数,并传入动态变量即可

function styleBanner(selector, txt, url, img){
  var $el = $(selector);
  $el.attr({
    title: txt,
    href: url
  }).css('background', 'url('+img+')')
    .html('<h2>'+txt+'</h2>');

  return $el;
}

var $primaryBanner1 = styleBanner('#banner-01', primaryOneTxt, primaryOneUrl, primaryOneImg);
函数样式横幅(选择器、txt、url、img){
变量$el=$(选择器);
$el.attr({
标题:txt,
href:url
}).css('background','url('+img+'))
.html(“”+txt+“”);
返回$el;
}
var$primarybaner1=styleBanner('#banner-01',primaryonext,primaryOneUrl,primaryOneImg);


每个jquery对象都会返回它自己,这样你就可以很容易地找到它们:$primarybaner1.attr(…).html(…),所以我只想说,如果这是你想要改进的工作代码,可能更适合这个问题。谢谢David!老实说,我甚至不知道这个存在!每个jquery对象都会返回它自己,这样您就可以很容易地找到它们:$primarybaner1.attr(…).html(…),所以我只想提到,如果这是您想要改进的工作代码,可能更适合这个问题。谢谢David!老实说,我甚至不知道这个存在!每个jquery对象都会返回它自己,这样您就可以很容易地找到它们:$primarybaner1.attr(…).html(…),所以我只想提到,如果这是您想要改进的工作代码,可能更适合这个问题。谢谢David!老实说,我甚至不知道这个存在!每个jquery对象都会返回它自己,这样您就可以很容易地找到它们:$primarybaner1.attr(…).html(…),所以我只想提到,如果这是您想要改进的工作代码,可能更适合这个问题。谢谢David!老实说,我甚至不知道这个存在!我还建议将所有参数(txt、url、img)添加到选项对象{txt:'text',url:'url'}中,这样以后就更容易扩展了。太棒了!谢谢你的帮助,罗布!我不太确定@n0mercy是什么意思?我已经更新了第一个示例的脚本,以澄清我的建议。我还建议将所有参数(txt、url、img)添加到选项对象{txt:'text',url:'url'}中,以便将来更容易扩展。太棒了!谢谢你的帮助,罗布!我不太确定@n0mercy是什么意思?我已经更新了第一个示例的脚本,以澄清我的建议。我还建议将所有参数(txt、url、img)添加到选项对象{txt:'text',url:'url'}中,以便将来更容易扩展。太棒了!谢谢你的帮助,罗布!我不太确定@n0mercy是什么意思?我已经更新了第一个示例的脚本,以澄清我的建议。我还建议将所有参数(txt、url、img)添加到选项对象{txt:'text',url:'url'}中,以便将来更容易扩展。太棒了!谢谢你的帮助,罗布!我不太清楚@n0mercy是什么意思?我已经更新了第一个示例的脚本,以澄清我的建议