已解决:: <div id="slideshow"> <?php echo implode(' ',$images); ?> </div> TO >>> <div id="slideshow"> <div> <?php echo implode(' ',$images); ?> </div> </div>
我的html / php代码在所有新版本的浏览器中运行(chrome,firefox,IE 11 ......),但是当我尝试让它在IE 8上运行时,它无法正常运行!它实际上是一个非常简单的代码我在excel文件中搜索他们的生日日期=今天的日期的某些用户。然后以幻灯片形式获取他们的照片。
这是代码:
<?php
/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');
/** PHPExcel_IOFactory */
include 'PHPExcel/IOFactory.php';
$goal = date ('d/m');
$row_counter=0;
$images = array();
$names = array();
$exists_counter=0;
try{
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("employe.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();
foreach ($objWorksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
$row_counter++;
$bday = $objWorksheet->getCellByColumnAndRow(21,$row_counter)->getFormattedValue();
$ToCompare =substr($bday, 0, 5);
// foreach ($cellIterator as $cell){
if ($goal== $ToCompare){
$name = $objWorksheet->getCellByColumnAndRow(1,$row_counter)->getFormattedValue();
$sex = $objWorksheet->getCellByColumnAndRow(4,$row_counter)->getFormattedValue();
$id = $objWorksheet->getCellByColumnAndRow(0,$row_counter)->getFormattedValue();
$imagename = 'imgs/'.$id.'.jpg';
if (file_exists($imagename)){
$images[]='<left><img id='.$exists_counter.' src="imgs/'.$id.'.jpg" align="middle" border=1 height="470" width="310">BONNE ANNIVERSAIRE!<br> '.$name.'</left><br>';
}else{
if($sex== "m" or $sex== "M"){
$images[]='<left><img id='.$exists_counter.' src="imgs/male.jpg" align="middle" border=1 height="470" width="310">BONNE ANNIVERSAIRE!<br>'.$name.'</left><br>';
}else{
$images[]='<left><img id='.$exists_counter.' src="imgs/female.jpg" align="middle" border=1 height="470" width="310">BONNE ANNIVERSAIRE!<br>'.$name.'</left><br>';
}
}
$exists_counter++;
}
}
}catch(Exception $e){
echo 'MERCI DE VERIFIER l’INTEGRITE DU FICHIER Excel!!! ', "\n";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Birthday Slider</title>
<style type="text/css">
#slideshow{
width: 312px;
height: 550px;
overflow: hidden;
background-image: url(imgs/loader.gif);
background-repeat: no-repeat;
}
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>
<script src="http://cdn.wideskyhosting.com/js/jquery.cycle.js"></script>
<script type="text/javascript">
$("document").ready(function(){
$("#slideshow").cycle({
fx: 'custom',
sync: 0,
cssBefore: {
top: 0,
left: 320,
display: 'block'
},
animIn: {
left: 0
},
animOut: {
top: 550
},
delay: 0,
timeout: 6500
});
})
</script>
</head>
<body style="font-family: Arial, Sans-serif, sans;">
<div id="slideshow">
<?php echo implode(' ',$images); ?>
</div>
</body>
</html>
答案 0 :(得分:1)
正如其他人已经提到的,php与您的浏览器无关。 尝试打开浏览器的控制台(IE 8),看看是否有任何javascript语法错误。
这是一个关于如何使用IE8调试javascript的链接 link
修改强>
您正在使用DOM中不存在的无关的左标记。 IE8在HTML标记方面非常敏感,因此它不会显示或显示您的HTML代码但有错误。 尝试删除这些标记并使用CSS对齐图像。