我通过这个库在 Codeigniter 应用程序中使用 mailchimp 1.3 。
我有这段代码:
$birthday = date('m/d', strtotime('1984-04-29');
echo $birthday;
$merge_vars = array(
'FNAME'=> $profile_info['name'],
'LNAME'=> $profile_info['lastname'],
'birthday' => $birthday,
'GROUPINGS' => array(array('name' => $this->group_name, 'groups' => $this->group1))
);
$this->mail_chimp->listSubscribe($this->list_id, $email, $merge_vars);
Run Code Online (Sandbox Code Playgroud)
订阅有效,在 mailchimp 的管理面板中我可以看到用户名和姓氏,但看不到生日。
在 api 文档中,它说它应该格式化为 MM/DD 并回显生日,我验证它是正确的。有什么建议么?
我正在尝试为我正在开发的一个小型应用程序构建一个脚本来使用 jQuery 预加载图像。
我读过不同的教程,现在我设法让它像这样工作:
var imageList = ['img1.png', 'img2.png', 'img3.png'];
$.each(imageList, function (index, imageName) {
var $img = $('<img>')[0];
$img.onload = function () {
console.log('loaded');
};
$img.src = imgPath + imageName;
}
Run Code Online (Sandbox Code Playgroud)
这工作正常。我从准备好的数组中加载图像,然后创建所有img标签,然后将它们附加到 DOM 中需要的地方。
不过,我现在想知道,如果我有多个srcset.
假设每个图像我有 3 个尺寸,但它们可能更多,通常我会在 html 中放置类似的内容:
<img srcset="large.jpg 1024w,
medium.jpg 640w,
small.jpg 320w"
sizes="(min-width: 36em) 33.3vw, 100vw"
src="small.jpg">
Run Code Online (Sandbox Code Playgroud)
现在,我该如何应用预加载呢?
1) 我可以在 Javascript 中预加载每个图像的所有大小,但这毫无意义,因为拥有多个 srcset 的全部目的是只加载一个 2) 我可以将img标签放在 DOM 中,让浏览器选择唯一的需要的大小并从 Javascript 加载。
第二个选项的问题是浏览器正在从 DOM 加载图像,那么为什么要在 Javascript 中再次加载它们呢?我可能完全错了,也许我错过了一些东西。正确的做法是什么?
我正在开发一个简单的图像滑块组件。在模板中,我用来v-for创建img标签并ref保留对每个标签的引用。
Vue.component('slide', {
template: `
<div class="c-image-slider">
<img ref="im" :key="image" class="c-image-slider__slide" v-for="image in images" :src="image">
</div>
`,
data() {
return {
currentImage: 0,
images: [],
};
},
mounted() {
this.images = images;
console.log(this.$refs);
console.log(this.$refs.im);
},
});
Run Code Online (Sandbox Code Playgroud)
在组件的钩子内,mounted()我试图记录this.$refs.im数组,但undefined结果是,尽管数组肯定在那里。我缺少什么?
这也是复制该问题的笔: https: //codepen.io/anon/pen/LQMMBK
我正在处理一个巨大的JavaScript代码库,我正在尝试重新组织.我不是真正的专家,我刚开始研究良好的JavaScript编码实践.所以,我要做的一件事就是将模块中的所有代码分开.在这个特殊情况下,我正在尝试创建一个可以帮助我优化视频嵌入的模块.我想传递一个id的模块,并从中接收一些HTML代码或图像.
我不是把整个代码都放在这里,但这对于这个例子来说已经足够了:
var videoIframe = (function($) {
'use strict';
var id,
setVideoId = function(videoId) {
id = videoId;
console.log(id);
},
getVideoThumbnail = function(videoId) {
setVideoId(videoId);
},
test = function() {
console.log(id)
},
getVideoEmbedCode = function() {
};
return {
test: test,
getVideoThumbnail: getVideoThumbnail
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
在另一个模块中,我将它分配给两个变量:
var video1 = videoIframe;
var video2 = videoIframe;
video1.getVideoThumbnail(123);
video2.getVideoThumbnail(456);
video1.test();
video2.test();
Run Code Online (Sandbox Code Playgroud)
而且,当然,我没有达到我的预期.第二次getVideoThumbnail调用后,它始终打印456.
做一些研究我明白我正在创建一个单例,一个实例,而我只是在该实例中更改值.我想我的模块需要一个构造函数,但我不确定如何与IIFE模式一起创建它.这是正确的方法吗?
我试图在内部的立方体的每个面上应用不同的图像.
我在这里有一个工作示例:http://codepen.io/anon/pen/mymOKe
我加载这样的图像:
var material = [
new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture('http://placehold.it/512x512', {}, function(){ webGLRenderer.render(scene, camera); })
}),
new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture('http://placehold.it/512x512', {}, function(){ webGLRenderer.render(scene, camera); })
}),
new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture('http://placehold.it/512x512', {}, function(){ webGLRenderer.render(scene, camera); })
}),
new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture('http://placehold.it/512x512', {}, function(){ webGLRenderer.render(scene, camera); })
}),
new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture('http://placehold.it/512x512', {}, function(){ webGLRenderer.render(scene, camera); })
}),
new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture('http://placehold.it/512x512', {}, function(){ webGLRenderer.render(scene, camera); })
})
];
var mesh = THREE.SceneUtils.createMultiMaterialObject(geom, new THREE.MeshFaceMaterial(material));
mesh.doubleSided = true; …Run Code Online (Sandbox Code Playgroud) 我想使用GSAP创建某种缩小动画效果。我想要做的是将元素从其大小的两倍缩放到正常大小,然后消失blur filter。过滤器应从开始blur(15px)并向下到blur(0)。
我以为我可以这样:
var el = $('img');
TweenLite.set(el, {
'webkitFilter': 'blur(15px)',
scale: 2
});
TweenLite.to(el, 0, {
autoAlpha: 1,
delay: 1.75,
ease: Power2.easeIn
});
TweenLite.to(el, 2, {
'webkitFilter': 'blur(0px)',
scale: 1,
delay: 1.7,
ease: Power2.easeIn
});
Run Code Online (Sandbox Code Playgroud)
相反,发生的事情是blur(0)立即应用。
这是显示问题的简单笔。我究竟做错了什么?
我有这两个数组:
$list = [
'fruit' => [],
'animals' => [],
'objects' => [],
];
$dataArray = [
'fruit' => 'apple',
'animals' => ['dog', 'cat'],
'asd' => 'bla'
];
Run Code Online (Sandbox Code Playgroud)
我要合并它们,以便最后的$ list是:
[fruit] => Array
(
[0] => apple
)
[animals] => Array
(
[0] => dog
[1] => cat
)
[objects] => Array
(
)
Run Code Online (Sandbox Code Playgroud)
因此,注意事项:
使用array_merge不起作用:
$merged = array_merge($list, $dataArray);
[fruit] => apple
[animals] => Array
(
[0] => dog
[1] => cat
) …Run Code Online (Sandbox Code Playgroud) 我在我正在研究的网站中使用Ion Auth库进行身份验证系统.它没有任何问题,但从昨天起我收到此错误:
PHP Fatal error: Call to undefined function now() in /home/carlo/public_html/website/application/models/ion_auth_model.php on line 996
Run Code Online (Sandbox Code Playgroud)
该行中的代码是这样的:
$this->db->update($this->tables['users'], array('last_login' => now()), array('id' => $id));
Run Code Online (Sandbox Code Playgroud)
我读到now()是一个mysql函数,在php中你应该使用date(),但我觉得奇怪的是,在库里有一个不存在的函数.知道这里发生了什么吗?
javascript ×4
php ×2
array-merge ×1
arrays ×1
blur ×1
caching ×1
codeigniter ×1
gsap ×1
iife ×1
image ×1
ion-auth ×1
mailchimp ×1
preload ×1
three.js ×1
vue.js ×1