尝试在谷歌网页设计与自定义javascript创建动画动态字段
Trying to create animated dynamic fields in google web designer with custom javascript
我发现了这个JavaScript,它完美地动画了文本,但是我如何在谷歌网页设计器中分配一个动态字段,到这个脚本?
下面是jsfiddle的链接,关于动态文本如何动画化。
https://jsfiddle.net/MarilynM84/2angj8tL/function airport(el, array) {
var self = el;
var items = array.length;
var items2 = array.length;
var chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', ' ', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '-', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0','!','¿','?','-','+','.',',',"'",'"','ç','ñ','à','á','è','é','ì','í','ò','ó','ù','ú','À','Á','È','É','Ì','Í','Ò','Ó','Ù','Ú'];
var longest = 0;
var opts = {
transition_speed: 2000,
fill_space: false,
longest: 0
};
//adds extra spaces to strings in array that are shorter than longest
function pad(a, b) {
return a + new Array(b - a.length + 1).join(' ');
}
self.innerHTML = '';
//finds the longest string in array
while (items--) {
if(array[items].length > longest) {
longest = array[items].length;
}
}
//makes all strings in array the same length
while (items2--) {
array[items2] = pad(array[items2],longest);
}
spans = longest;
while (spans--) {
var span = document.createElement('span');
span.className = 'c' + spans;
self.insertBefore(span, self.firstChild);
}
//a - number of the span element
//b - for checking char[b] against each letter in array[xx]
//c - current word in array[c]
//d - used to track position of each letter in array[xx]
function init(a, b, c, d) {
var el = self.querySelector('.c' + a);
var current_letter = array[c] ? array[c].substring(d, d + 1) : null,
timer,
word_len = array[c] ? array[c].trim.length : null,
prev_word_len = array[c - 1] ? array[c - 1].trim.length : array[0].trim.length;
if (c >= array.length) { //reset
timer = setTimeout(function() {
init(1, 1, 1, 1);
}, 10);
}
else if (d >= longest) { //go to next word
timer = setTimeout(function() {
init(0, 0, c + 1, 0);
}, opts.transition_speed);
console.log(opts);
}
else {
el.innerHTML = chars[b] === ' ' ? ' ' : chars[b];
timer = setTimeout(function() {
if (b > chars.length) {
init(a + 1, 0, c, d + 1);
}
//go to next letter in chars[] if it doesnt match current letter in array[xx]
else if (chars[b] !== current_letter.toLowerCase()) {
init(a, b + 1, c, d);
}
else { //found the letter here
el.innerHTML = current_letter === ' ' && opts.fill_space ? ' ' : current_letter;
if (word_len < prev_word_len) {
if (a > word_len) {
for (a; a < prev_word_len; a++) {
self.querySelector('.c' + a).innerHTML = '';
}
d = longest;
}
}
init(a + 1, 0, c, d + 1);
}
}, 10);
}
}
init(0, 0, 0, 0);
}
// Call element by selected class or ID
airport(
document.querySelector('.example'),
// pass in data to be outputed here
[ 'Dynamic Content', ]
);
请帮助,当涉及到JavaScript时,我是一个新手,我正在学习。谢谢你! !
您可以在Google Web Designer中创建一个自定义事件来调用机场函数。
从事件面板中添加一个新事件。您可以将事件附加到Ad Loaded事件或特定的用户行为。作为操作,选择"Custom"。添加一个新的自定义动作。在这里,您可以定义一个自定义函数,并在函数中添加您想要调用的代码。
请记住,每个全局变量都可以通过document.variable_name
这是一个动态的解决方案,你原来的问题少了谷歌网页设计师的东西。(坦率地说,我建议新手从简单的教程开始,并使用atom之类的东西。IO为您的html/js/css工具。找一本像样的书或教程,也许是这样的。)
这是一个更新的jsfiddle(重要注意:在jsfiddle页面的左侧空白处,选择框架和扩展no wrap in <body>
)
上面的html稍微重做:
<body>
<label for="textValue">New Text:</label>
<input type="text" id="textValue" value="Place new text here." />
<button onclick="hello()">Click me</button>
<div class="example"></div>
</body>
,在脚本部分,添加:
function hello() {
var textInputVal = document.getElementById('textValue').value;
console.log(textInputVal);
// Call element by selected class or ID
airport(
document.querySelector('.example'),
// pass in data to be outputed here
[textInputVal]
)
}
如果你坚持使用Google网页设计器,你应该去开发工具的底部,点击"代码视图"按钮,然后小心地将javascript的关键元素添加到<script type="text/javascript" id="gwd-init-code">
块中。这里要非常小心,以免擦除或更改任何机器生成的代码。
哦. .更新这里在谷歌网页设计。原来
Google Web Designer (GWD)是一个图形设计工具,用于创建HTML5/CSS3/Javascript横幅和广告使用动画和3 d变换。使用他们的图形工具,如绘图,文本和3D对象,您可以在时间轴上动画这些对象和事件使用关键帧。GWD显然不是设计来创建完全成熟的应用程序或整个网站,而不是横幅,弹出式广告,侧边栏,甚至动画按钮,强烈关注项目双击和AdWords广告。
你可以给这些元素添加自定义JavaScript,但你应该先熟悉JS。除了上面提到的元素之外,还生成了许多JS文件。
- 使用Web Html表单创建Javascript数组
- 使用私有成员创建JavaScript类
- 为DataTables aoColumnDefs创建JavaScript数组(JSON格式)
- Mediawiki皮肤创建-Javascript don'Don’t get load
- 为自定义网站创建JavaScript搜索框,创建显示搜索结果的弹出窗口
- 为表菜单创建javascript
- 使用jstl c:forEach在迭代jsp bean上创建javascript json对象
- 从字符串创建 JavaScript 函数
- 使用计算名称创建 JavaScript 对象
- 什么是创建 JavaScript 类的适当、现代和跨浏览器安全的方法
- 创建 JavaScript 构造函数时的语法错误
- 使用 C# 中的代码隐藏在单击按钮时创建 Javascript 警报
- php在foreach循环中创建javascript
- 创建javascript模块
- 如何从数组中动态创建javascript变量
- 创建JavaScript库:更改实际图像
- 如何创建javascript执行器,使元素在selenium webdriver中可见
- 如何在我的服务器上创建javascript,该服务器使用该服务器上的后端,并将在另一个网站上使用
- 创建javascript子类型的实例会产生意外行为
- 如何创建javascript顺序动画