作为Display image as background in fullcalendar的后续,我现在有一个完全工作的MySQL解决方案,但如果我在数据库中设置的自定义列不是空的(图片),我无法找到一种方法来更改背景,也无法根据相同的条件更改相同的不透明度。
在我的另一个问题中,我可以在dayRender中更改背景和eventRender中更改不透明度:
dayRender: function (date, cell) {
cell.css("background","url(https://www.mozilla.org/media/img/firefox/firefox-256.e2c1fc556816.jpg) no-repeat center");
cell.css("background-size","contain")
},
eventRender: function(event, element) {
$(element).css("opacity", "0.75");
}
});
现在我的js代码看起来像这样:
$(document).ready(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = $('#calendar').fullCalendar({
editable: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month'
},
events: "/events.php",
dayRender: function (date, cell, view) {
cell.css("background","url(https://www.mozilla.org/media/img/firefox/firefox-256.e2c1fc556816.jpg) no-repeat center");
cell.css("background-size","contain")
},
eventRender: function(event, element) {
}
});
})
从MySQL数据库获取事件数据的PHP页面为:
<?php
// List of events
$json = array();
// Query that retrieves events
$requete = "SELECT * FROM evenement ORDER BY id";
// connection to the database
try {
$bdd = new PDO('mysql:host=localhost;dbname=HIDDEN', 'HIDDEN', 'HIDDEN');
} catch(Exception $e) {
exit('Unable to connect to database.');
}
// Execute the query
$resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
// sending the encoded result to success page
echo json_encode($resultat->fetchAll(PDO::FETCH_ASSOC));
?>
我试着在dayRender中使用这个来改变背景,到目前为止还没有成功:
var eventoObj = $("#calendar").fullCalendar( 'clientEvents')[0];
alert(eventoObj.picture_url)
有人能帮我弄清楚这个吗?
谢谢你的时间和帮助。
1条答案
按热度按时间b0zn9rqh1#
迟到了,但对于有同样问题的人
你有没有试过在css中编辑fc-bg-event类?例如,你可以将不透明度设置为0.1或0.9,它将改变事件的不透明度