在另一个随机值jQuery中插入随机值
Insert random value in another random value, jQuery
让我首先告诉您,我是jQuery的新手,通常没有那么多编程经验。这是我第一次尝试真正学习这一点,因此,如果可能的话,我很乐意保持解释和解决方案的基本性。
我正在从随机的句子中生成一个完整的文本块。这很好用。然而,我希望能够将随机值插入另一个值中,以获得更多的"动态随机性"。例如,我想在其他随机变量中使用随机名称。
例如,我想从数组var Malsattning
创建一个输出,该输出为:"我们的愿景是[从Var Foretagsnamn
插入名称]对品牌树立积极的态度"我还希望保持从Var Foretagsnamn
自己生成名称的能力(就像所有当前生成的单词/句子一样)。
这有点难以解释,所以我创建了一个jsFiddle供您研究以下代码是否不够;http://jsfiddle.net/lennyekberg/gFUxG/
/////////////////////////////
// Foretagsnamn (Name) //
/////////////////////////////
var Foretagsnamn = [
'Lisa',
'Ann',
'Matt',
'Carl',
'Sara',
'Ron'
],
//the current sentences length
maxForetagsnamn = Foretagsnamn.length;
// get and return a random sentences from array
function getRandomForetagsnamn() {
//calculate a random index
var rndIdxForetagsnamn = Math.floor(Math.random()*(maxForetagsnamn));
//return the random sentence
return Foretagsnamn[rndIdxForetagsnamn];
}
//show a random sentences in a DOM selector
function showRandomForetagsnamn(selector){
var randomForetagsnamn = getRandomForetagsnamn();
$(selector).html(randomForetagsnamn);
}
///////////////////////////////////////////////////
// Foretagsbeskrivning (Workdescription) //
///////////////////////////////////////////////////
var Foretagsbeskrivning = [
'is an icecream vendor',
'is a plumber',
'organizes charity events',
'build hybrid cars'
],
//the current sentences length
maxForetagsbeskrivning = Foretagsbeskrivning.length;
//get and return a random sentences from array
function getRandomForetagsbeskrivning() {
//calculate a random index
var rndIdxForetagsbeskrivning = Math.floor(Math.random()*(maxForetagsbeskrivning));
//return the random sentence
return Foretagsbeskrivning[rndIdxForetagsbeskrivning];
}
//show a random sentences in a DOM selector
//vad är en DOM selector, för alla taggar i html eller?
function showRandomForetagsbeskrivning(selector){
var randomForetagsbeskrivning = getRandomForetagsbeskrivning();
$(selector).html(randomForetagsbeskrivning);
}
////////////////////////////
// Målsättning (Goal) //
////////////////////////////
var Malsattning = [
'The vision is to dominate the market in three years',
'The vision is to create a positive attitude towards the brand',
'The goal is to create a huge profit in the next two years',
'Ett mål för det fortsatta arbetet är att kunna hävda sig mot konkurrenter och skeptiker'
],
//the current sentences length
maxMalsattning = Malsattning.length;
//get and return a random sentences from array
function getRandomMalsattning() {
//calculate a random index
var rndIdxMalsattning = Math.floor(Math.random()*(maxMalsattning));
//return the random sentence
return Malsattning[rndIdxMalsattning];
}
//show a random sentences in a DOM selector
//vad är en DOM selector, för alla taggar i html eller?
function showRandomMalsattning(selector){
var randomMalsattning = getRandomMalsattning();
$(selector).html(randomMalsattning);
}
////////////////////////////////////////////////////
// Målsättning, genomförande (Goal, execution) //
////////////////////////////////////////////////////
var Malsattninggenomforande = [
'with the implementation of sustainable solutions',
'by using viral marketing',
'by creating new demands on the market',
'with a nation wide marketing campaign'
],
//the current sentences length
maxMalsattninggenomforande = Malsattninggenomforande.length;
//get and return a random sentences from array
function getRandomMalsattninggenomforande() {
//calculate a random index
var rndIdxMalsattninggenomforande = Math.floor(Math.random()*(maxMalsattninggenomforande));
//return the random sentence
return Malsattninggenomforande[rndIdxMalsattninggenomforande];
}
//show a random sentences in a DOM selector
//vad är en DOM selector, för alla taggar i html eller?
function showRandomMalsattninggenomforande(selector){
var randomMalsattninggenomforande = getRandomMalsattninggenomforande();
$(selector).html(randomMalsattninggenomforande);
}
/////////////////////////////////////////////
// Målsättning, resultat (Goal, result) //
/////////////////////////////////////////////
var MalsattningResultat = [
'which will result in new buisness opportunities',
'and in time reach a wider audience',
'that will create a positive attitude to the business'
],
//the current sentences length
maxMalsattningResultat = MalsattningResultat.length;
//get and return a random sentences from array
function getRandomMalsattningResultat() {
//calculate a random index
var rndIdxMalsattningResultat = Math.floor(Math.random()*(maxMalsattningResultat));
//return the random sentence
return MalsattningResultat[rndIdxMalsattningResultat];
}
//show a random sentences in a DOM selector
//vad är en DOM selector, för alla taggar i html eller?
function showRandomMalsattningResultat(selector){
var randomMalsattningResultat = getRandomMalsattningResultat();
$(selector).html(randomMalsattningResultat);
}
//////////////////
// Output //
//////////////////
//used to output the different sentences
//used by .click & .ready beneath
var outputLista = function() {
showRandomForetagsnamn(".foretagsnamn");
showRandomForetagsbeskrivning(".foretagsbeskrivning");
showRandomMalsattning(".malsattning");
showRandomMalsattninggenomforande(".malsattninggenomforande");
showRandomMalsattningResultat(".malsattningresultat");
}
$('.rndButton').click(function(e){
outputLista();
console.log('get random sentences at click...');
});
//generates random sentences when the page loads
$('.rndButton').ready(function(e){
console.log('get random sentences at page load...');
outputLista();
});
我认为最好使用占位符。如果您更改,例如
'The vision is to dominate the market in three years'
至
'The vision is for @@person@@ to dominate the market in three years'
然后你可以做一些类似的事情
var randomName = getRandomForetagsnamn();
var randomMalsattning = getRandomMalsattning();
var result = randomMalsattning.replace('@@person@@', randomName);
alert(result);
你只需要确保占位符是文本中其他地方都没有的东西——如果你使用特殊字符来填充占位符,这很容易实现。
EDIT:我创建了一个非常基本的JSFiddle用于演示:http://jsfiddle.net/8YjVc/1/
您可以使用拆分函数将名称放入结果中。这是小提琴。
要轻松使用拆分,请为函数外的名称创建一个var:
var name;
然后,更改添加要拆分的字符的结果(此处字符为"[]"):
var Malsattning = [
'The vision is for [] to dominate the market in three years',
'The vision is for [] to create a positive attitude towards the brand',
'The goal is for [] to create a huge profit in the next two years',
'Ett mål för det fortsatta arbetet är att kunna hävda sig mot konkurrenter och skeptiker'
],
最后,拆分并显示结果:
function showRandomMalsattning(selector){
var randomMalsattning = getRandomMalsattning();
var split = randomMalsattning.split('[]');
$(selector).html(split[0] + name + split[1]);
}
相关文章:
- 将样式表插入iframe
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 如何动态插入jquery代码
- 动态插入的表:JQuery未检测到最后一行
- 使用JavaScript动态插入DIV的成本有多高
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 在句子末尾插入随机字符
- 插入带有随机提要URL的iframe
- 在另一个随机值jQuery中插入随机值
- 如何确保数组中随机插入的数字不会重复
- 正在将随机十六进制字符插入到web源代码中
- 在python "json"字符8192处随机插入逗号;从node.js调用的结果
- 将字符串插入到另一个字符串中的随机位置
- 随机插入,但不能相邻插入
- 使用Javascript随机插入图像到表中
- 如何使用javascript将图像随机插入到表中
- 在我的下划线模板中插入的随机unicode
- 取一个随机的n个元素数组,并将它们插入到指定的元素中
- JQuery:在文本框中插入一个55字符的随机字符串