gpt4 book ai didi

javascript - 在页面加载时激活 jQuery img 和文本操作

转载 作者:太空狗 更新时间:2023-10-29 15:10:38 26 4
gpt4 key购买 nike

我已经构建了一个小的 bootstrap 3 缩略图文本和 img 操作,现在我有一个关于如何在页面加载时激活它的问题,具体来说我希望 #anime1 在加载时激活页面加载。

看看这个 manipulation例子。您会看到我在那里显示了一堆缩略图,但是当您与操作交互时,它会显示您需要查看的所选 navbar 标题的所有内容。

那么我怎样才能在页面加载时激活它呢?

$(function(){
$('#anime1').click(function(){

$('.column').each(function(){
$( this ).hide( 500 );
});
$('.columns').each(function(){
$( this ).show( 500 );

$('#col1 img').attr('src', 'img/lazy1.png').prepend('background-image', 'url(img/lazy.png)');
$('#col1 h3').text('Grouting!');
$('#col1 p:first').text('Grouting retention text will be displayed here!');

$('#col2 img').attr('src', 'img/lazy1.png').prepend('background-image', 'url(img/lazy.png)');
$('#col2 h3').text('Grouting!');
$('#col2 p:first').text('Grouting retention text will be displayed here!');

$('#col3 img').attr('src', 'img/lazy1.png').prepend('background-image', 'url(img/lazy.png)');
$('#col3 h3').text('Grouting!');
$('#col3 p:first').text('Grouting retention text will be displayed here!');

$('#col4 img').attr('src', 'img/lazy1.png').prepend('background-image', 'url(img/lazy.png)');
$('#col4 h3').text('Grouting!');
$('#col4 p:first').text('Grouting retention text will be displayed here!');

$('#col5 img').attr('src', 'img/lazy1.png').prepend('background-image', 'url(img/lazy.png)');
$('#col5 h3').text('Grouting!');
$('#col5 p:first').text('Grouting retention text will be displayed here!');

$('#col6 img').attr('src', 'img/lazy1.png').prepend('background-image', 'url(img/lazy.png)');
$('#col6 h3').text('Grouting!');
$('#col6 p:first').text('Grouting retention text will be displayed here!');
});
});

$('#anime2').click(function(){
$('.columns').hide( 500 );
$('.column').hide( 500 );
});
$('#anime2').click(function(){
$('.col4').show( 500 );

$('#col4 img').attr('src', 'img/lazy0.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col4 h3').text('Ground Improvements!');
$('#col4 p:first').text('Ground Improvements text will be displayed here!');
});

$('#anime3').click(function(){
$('.column').each(function(){
$( this ).show( 500 );
});
$('.columns').each(function(){
$( this ).show( 500 );
});
$('#col1 img').attr('src', 'img/lazy1.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col1 h3').text('Earth Retention!');
$('#col1 p:first').text('Earth Retention retention text will be displayed here!');

$('#col2 img').attr('src', 'img/lazy1.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col2 h3').text('Earth Retention!');
$('#col2 p:first').text('Earth Retention retention text will be displayed here!');

$('#col3 img').attr('src', 'img/lazy1.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col3 h3').text('Earth Retention!');
$('#col3 p:first').text('Earth Retention retention text will be displayed here!');

$('#col4 img').attr('src', 'img/lazy1.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col4 h3').text('Earth Retention!');
$('#col4 p:first').text('Earth Retention retention text will be displayed here!');

$('#col5 img').attr('src', 'img/lazy1.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col5 h3').text('Earth Retention!');
$('#col5 p:first').text('Earth Retention retention text will be displayed here!');

$('#col6 img').attr('src', 'img/lazy1.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col6 h3').text('Earth Retention!');
$('#col6 p:first').text('Earth Retention retention text will be displayed here!');

$('#col7 img').attr('src', 'img/lazy1.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col7 h3').text('Earth Retention!');
$('#col7 p:first').text('Earth Retention retention text will be displayed here!');

$('#col8').hide( 500 );
});

$('#anime4').click(function(){
$('.column').each(function(){
$( this ).show( 500 );
});
$('.columns').each(function(){
$( this ).show( 500 );
});
$('#col1 img').attr('src', 'img/lazy.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col1 h3').text('Structural Support!');
$('#col1 p:first').text('Structural Support text will be displayed here!');

$('#col2 img').attr('src', 'img/lazy.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col2 h3').text('Structural Support!');
$('#col2 p:first').text('Structural Support text will be displayed here!');

$('#col3 img').attr('src', 'img/lazy.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col3 h3').text('Structural Support!');
$('#col3 p:first').text('Structural Support text will be displayed here!');

$('#col4 img').attr('src', 'img/lazy.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col4 h3').text('Structural Support!');
$('#col4 p:first').text('Structural Support text will be displayed here!');

$('#col5 img').attr('src', 'img/lazy.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col5 h3').text('Structural Support!');
$('#col5 p:first').text('Structural Support text will be displayed here!');

$('#col6 img').attr('src', 'img/lazy.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col6 h3').text('Structural Support!');
$('#col6 p:first').text('Structural Support text will be displayed here!');

$('#col7 img').attr('src', 'img/lazy.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col7 h3').text('Structural Support!');
$('#col7 p:first').text('Structural Support text will be displayed here!');

$('#col8 img').attr('src', 'img/lazy.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col8 h3').text('Structural Support!');
$('#col8 p:first').text('Structural Support text will be displayed here!');

});

$('#anime5').click(function(){
$('.column').hide( 500 );
$('.columns').hide( 500 );
});
$('#anime5').click(function(){
$('.col4').show( 500 );

$('#col4 img').attr('src', 'img/lazy0.jpeg').prepend('background-image', 'url(img/lazy.png)');
$('#col4 h3').text('Additional Technologies!');
$('#col4 p:first').text('Additional Technologies text will be displayed here!');
});

});

缩略图:

  <div class="row">
<div class=" col-xs-12 col-sm-12 col-md-8 col-md-offset-2 col-lg-12">
<ul class="nav nav-pills">
<li role="presentation"><a id="anime1" href="#">Grouting</a></li>
<li role="presentation"><a id="anime2" href="#">Ground Improvements</a></li>
<li role="presentation"><a id="anime3" href="#">Earth Retention</a></li>
<li role="presentation"><a id="anime4" href="#">Structural Support</a></li>
<li role="presentation"><a id="anime5" href="#">Additional Technologies</a></li>
</ul>
</div>
</div>

<div class="row">
<p style="padding: 10px;"></p>
</div>

<div class="row">
<div id="col1" class="columns col-xs-2 col-sm-2 col-md-2 col-lg-2">
<div class="thumbnail">
<img class="img-thumbnail img-responsive" src="http://placehold.it/140x100" alt="">
<div class="caption">
<h3 class="text-center">Text title, label, etc</h3>
<p class="text-center">descritpion here</p>
<p><a href="#" class="btn btn-md btn-primary" role="button">Button</a></p>
</div><!--/ caption-end -->
</div><!--/ thumbnail-end -->
</div>

<div id="col2" class="columns col-xs-2 col-sm-2 col-md-2 col-lg-2">
<div class="thumbnail">
<img class="img-thumbnail img-responsive" src="http://placehold.it/140x100" alt="">
<div class="caption">
<h3 class="text-center">Text title, label, etc</h3>
<p class="text-center">descritpion here</p>
<p><a href="#" class="btn btn-md btn-primary" role="button">Button</a></p>
</div><!--/ caption-end -->
</div><!--/ thumbnail-end-->
</div>

<div id="col3" class="columns col-xs-2 col-sm-2 col-md-2 col-lg-2">
<div class="thumbnail">
<img class="img-thumbnail img-responsive" src="http://placehold.it/140x100" alt="">
<div class="caption">
<h3 class="text-center">Text title, label, etc</h3>
<p class="text-center">descritpion here</p>
<p><a href="#" class="btn btn-md btn-primary" role="button">Button</a></p>
</div><!--/ caption-end -->
</div><!--/ thumbnail-end -->
</div>

<div id="col4" class="col-xs-2 col-sm-2 col-md-2 col-lg-2 animate_col4">
<div class="thumbnail">
<img class="img-thumbnail img-responsive" src="http://placehold.it/140x100" alt="">
<div class="caption">
<h3 class="text-center">Text title, label, etc</h3>
<p class="text-center">Ovo ce da se animira za Additionl technologies.</p>
<p><a href="#" class="btn btn-md btn-primary" role="button">Button</a></p>
</div><!--/ caption-end -->
</div><!--/ thumbnail-end -->
</div>

<div id="col5" class="columns col-xs-2 col-sm-2 col-md-2 col-lg-2">
<div class="thumbnail">
<img class="img-thumbnail img-responsive" src="http://placehold.it/140x100" alt="">
<div class="caption">
<h3 class="text-center">Text title, label, etc</h3>
<p class="text-center">Ovaj ce da se animira za Ground Impovements!</p>
<p><a href="#" class="btn btn-md btn-primary" role="button">Button</a></p>
</div><!--/ caption-end -->
</div><!--/ thumbnail-end -->
</div>

<div id="col6" class="columns col-xs-2 col-sm-2 col-md-2 col-lg-2">
<div class="thumbnail">
<img class="img-thumbnail img-responsive" src="http://placehold.it/140x100" alt="">
<div class="caption">
<h3 class="text-center">Text title, label, etc</h3>
<p class="text-center">descritpion here</p>
<p><a href="#" class="btn btn-md btn-primary" role="button">Button</a></p>
</div><!--/ caption-end -->
</div><!--/ thumbnail-end -->
</div>

<div id="col7" class="column col-xs-2 col-sm-2 col-md-2 col-md-offset-4 col-lg-2 col-lg-offset-4">
<div class="thumbnail">
<img class="img-thumbnail img-responsive" src="http://placehold.it/140x100" alt="">
<div class="caption">
<h3 class="text-center">Text title, label, etc</h3>
<p class="text-center">descritpion here</p>
<p><a href="#" class="btn btn-md btn-primary" role="button">Button</a></p>
</div><!--/ caption-end -->
</div><!--/ thumbnail-end -->
</div>

<div id="col8" class="column col-xs-2 col-sm-2 col-md-2 col-lg-2">
<div class="thumbnail">
<img class="img-thumbnail img-responsive" src="http://placehold.it/140x100" alt="">
<div class="caption">
<h3 class="text-center">Text title, label, etc</h3>
<p class="text-center">descritpion here</p>
<p><a href="#" class="btn btn-md btn-primary" role="button">Button</a></p>
</div><!--/ caption-end -->
</div><!--/ thumbnail-end -->
</div>
</div><!--/ end thumbnai row -->

最佳答案

将触发器附加到处理程序选择器

 $('#anime1').click(function(){
//... all the code you have
});

修订:

 $('#anime1').click(function(){
//... all the code you have
}).trigger('click');

编辑:根据评论修改代码。代码审查

请注意,其中有些是偏好,有些可能有点矫枉过正,我将对每项更改进行推理:

  • 该代码可以正常运行,但由于硬编码 ID 需要在标记中与在代码中保持一致,因此维护起来可能很麻烦。
  • 您可以简单地使用 8 列,所有列都带有相同的标记,没有 ID,使用类来启用元素的代码定位。这里的一个好处是链接的实际数量可能会随着文本、图像等的不同而变化。这可以作为 abject 推送到文档中,也可以使用 ajax 获得更多。
  • 为了简化我的审查,我假设只有 5 个“组”,如您所指出的。可以将其他链接添加到代码客户端或服务器的数组中,由您决定。
  • 您不是在缩略图中硬编码内容,而是从脚本中注入(inject)内容,在脚本中对这些值进行硬编码。这将很难维护。

基于您的列标记示例:注意此处没有 id。

 <div class="columns col-xs-2 col-sm-2 col-md-2 col-lg-2">
<div class="thumbnail">
<img class="img-thumbnail img-responsive" src="http://placehold.it/140x100" alt="">
<div class="caption">
<h3 class="thumbnail-head text-center">Text title, label, etc</h3>
<p class="thumbnail-desc text-center">descritpion here</p>
<p><a href="#" class="btn btn-md btn-primary" role="button">Button</a></p>
</div>
</div>
</div>

链接,添加了一些东西:“a”标签的一个类和 data-thing=',每个都有一个名称。我们将使用这个 thing 按名称定位 JavaScript 对象数组(查找它们)。

<ul class="nav nav-pills">
<li role="presentation"><a id="anime1" class="mylinks" data-thing="grout" href="#">Grouting</a></li>
<li role="presentation"><a id="anime2" class="mylinks" data-thing="ground" href="#">Ground Improvements</a></li>
<li role="presentation"><a id="anime3" class="mylinks" data-thing="earth" href="#">Earth Retention</a></li>
<li role="presentation"><a id="anime4" class="mylinks" data-thing="struct" href="#">Structural Support</a></li>
<li role="presentation"><a id="anime5" class="mylinks" data-thing="tech" href="#">Additional Technologies</a></li>
</ul>

注意这些也可以从对象中注入(inject)。

这是对象。我用“myApp”命名它。在这个对象中你可以看到数据以及我使用的一些函数。请参阅整个内联评论。

// create my namespace, use any preexisting namespace by that name.
var myApp = myApp || {};

将数据添加到我们的命名空间

// This is the actual data object, it has some defaults that I use
myApp.loadObject = {
defaultActiveLink: "grout",
animateHideDelay: 500,
animateShowDelay: 500,
defaultColumnCount: 8,
// array of "things" that we process (by name)
things: [{
name: "grout",// used to lookup
linkText: "Grouting",// link text (if we wanted to inject it)
// array of links in THIS thing - we use these
columnData: [{
"src": 'http://lorempixel.com/140/100/city',
"alt": "City",
"background": 'url(http://lorempixel.com/140/100/city)',
"headtext": 'Grouting0!',
"paragraphtext": 'Grouting 0 retention text will be displayed here!'
}, {
"src": 'http://lorempixel.com/140/100/city',
"alt": "City",
"background": 'url(http://lorempixel.com/140/100/city)',
"headtext": 'Grouting 1!',
"paragraphtext": 'Grouting1 retention text will be displayed here!'
}, {
"src": 'http://lorempixel.com/140/100/city',
"alt": "City",
"background": 'url(http://lorempixel.com/140/100/city)',
"headtext": 'Grouting2!',
"paragraphtext": 'Grouting2 retention text will be displayed here!'
}]
}, {
name: "ground",
linkText: "Ground Improvements",
columnData: [{
"src": 'http://lorempixel.com/140/100/nature',
"alt": "Nature",
"background": 'url(http://lorempixel.com/140/100/nature)',
"headtext": 'Ground Improvements!',
"paragraphtext": 'Ground 1 retention text will be displayed here!'
}, {
"src": 'http://lorempixel.com/140/100/nature',
"alt": "Nature",
"background": 'url(http://lorempixel.com/140/100/nature)',
"headtext": 'Ground Improvements2!',
"paragraphtext": 'Improvements 2 retention text will be displayed here!'
}, {
"src": 'http://lorempixel.com/140/100/nature',
"alt": "Nature",
"background": 'url(http://lorempixel.com/140/100/nature)',
"headtext": 'Ground Improvements3!',
"paragraphtext": 'Ground 3 Improvements retention text will be displayed here!'
}]
}, {
name: "earth",
linkText: "Earth Retention",
columnData: [{
"src": 'http://lorempixel.com/140/100/abstract',
"alt": "Abstract",
"background": 'url(http://lorempixel.com/140/100/abstract)',
"headtext": 'Earth1!',
"paragraphtext": 'Earth text will be displayed here!'
}, {
"src": 'http://lorempixel.com/140/100/abstract',
"alt": "Abstract",
"background": 'url(http://lorempixel.com/140/100/abstract)',
"headtext": 'Mother Earth!',
"paragraphtext": 'Mother Earth text will be displayed here!'
}, {
"src": 'http://lorempixel.com/140/100/abstract',
"alt": "Abstract",
"background": 'url(http://lorempixel.com/140/100/abstract)',
"headtext": 'Earthy!',
"paragraphtext": 'Earthy retention text will be displayed here!'
}]
}, {
name: "struct",
linkText: "Structural Support",
columnData: [{
"src": 'http://lorempixel.com/140/100/cats',
"alt": "Cats",
"background": 'url(http://lorempixel.com/140/100/cats)',
"headtext": 'Stuctural!',
"paragraphtext": 'Structural retention text will be displayed here!'
}, {
"src": 'http://lorempixel.com/140/100/cats',
"alt": "Cats",
"background": 'url(http://lorempixel.com/140/100/cats)',
"headtext": 'Struct!',
"paragraphtext": 'Struct retention text will be displayed here!'
}, {
"src": 'http://lorempixel.com/140/100/cats',
"alt": "Cats",
"background": 'url(http://lorempixel.com/140/100/cats)',
"headtext": 'Struct Last!',
"paragraphtext": 'My Struct Last retention text will be displayed here!'
}]
}, {
name: "tech",
linkText: "Additional Technologies",
columnData: [{
"src": 'http://lorempixel.com/140/100/food',
"alt": "Foody",
"background": 'url(http://lorempixel.com/140/100/food)',
"headtext": 'Tech!',
"paragraphtext": 'Tech Tech Tech text will be displayed here!'
}]
}]
};

向我们的命名空间添加一些通用函数:

// some generic functions to process my "object" not all these are used so you could clip it down a bit
myApp.arrayObj = {
indexOf: function(myArray, searchTerm, property) {
for (var i = 0; i < myArray.length; i++) {
if (myArray[i][property] === searchTerm) return i;
}
return -1;
},
indexAllOf: function(myArray, searchTerm, property) {
var ai = [];
for (var i = 0; i < myArray.length; i++) {
if (myArray[i][property] === searchTerm) ai.push(i);
}
return ai;
},
lookup: function(myArray, searchTerm, property, firstOnly) {
var found = [];
var i = myArray.length;
while (i--) {
if (myArray[i][property] === searchTerm) {
found.push(myArray[i]);
if (firstOnly) break; //if only the first
}
}
return found;
},
lookupAll: function(myArray, searchTerm, property) {
return this.lookup(myArray, searchTerm, property, false);
},
remove: function(myArray, searchTerm, property, firstOnly) {
for (var i = myArray.length - 1; i >= 0; i--) {
if (myArray[i][property] === searchTerm) {
myArray.splice(i, 1);
if (firstOnly) break; //if only the first term has to be removed
}
}
}
};

向我们的命名空间添加一些自定义函数(嗯,只有一个...)

// custom functions
myApp.func = {
/* activate the default specified by name */
setDefault: function() {
var activeDefault = myApp.loadObject.defaultActiveLink;
var defaultIndex = myApp.arrayObj.indexOf(myApp.loadObject.things, activeDefault, "name");
defaultIndex = !!activeDefault ? defaultIndex : 0;
$('.nav-pills').find('.mylinks').eq(defaultIndex).trigger('click');
}
};

标准的 jQuery 东西,这也可以是我们调用的自定义函数。这基本上完成了您所有代码所做的:

// process on click, injecting the appropriate text
$('.nav-pills').on('click', '.mylinks', function() {
// hide using the default hide delay in the object
$('.columns').hide(myApp.loadObject.animateHideDelay);
var thingtype = $(this).data('thing');// added to the link
var thing = myApp.arrayObj.lookup(myApp.loadObject.things, thingtype, "name", true);//lookup by name
var columns = $('.columns');// all the columns
// process the links,showing them
$.each(thing[0].columnData, function(index, item) {
// cache to not do multiple DOM searches
var tn = columns.eq(index).find('.thumbnail');
var cap = tn.find('.caption');
tn.find('img.img-thumbnail').attr('src', item.src).attr('alt', item.alt).prepend('background-image', item.background);
cap.find('h3.thumbnail-head').text(item.headtext);
cap.find('p.thumbnail-desc').text(item.paragraphtext);
// show this one
$('.columns').eq(index).show(myApp.loadObject.animateShowDelay);
});
});

$(function() {
// activate the default specified by name
myApp.func.setDefault();
});

关于javascript - 在页面加载时激活 jQuery img 和文本操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36874187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com