需要帮助来解决滑块 JavaScript 与 Safari 的冲突
Need help to resolve a slider javascript conflict with Safari
我在网站上使用的滑块遇到问题。(www.cloosedesign.com)该网站是我为朋友制作的作品集。所以有几部作品要展示。每件作品都作为链接列出,当您单击链接时,它会通过滑块显示相应的图片。(我已经放了一些PHP来从数据库Mysql中获取正确的图片)。
它工作正常,除了在SAFARI上。事实上,有时当我点击链接时,页脚的文本(黑框上的白色文本)会消失并重新出现,就像页面刷新一样。此 pb 有时在第三次单击后出现,有时在多次单击后出现。
这是我的代码:
在<head>
:我正在调用jquery:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
我正在调用滑块的 javascript 文件:
<script type="text/javascript" src="js/slides.min.jquery.js"></script>
然后在portfolio_english页面中,我正在检查与所选作品对应的图像(= $contenu):
<?
$images_sql = "SELECT * FROM `a_fichier`
WHERE id_fiche=".$contenu."
ORDER BY tri";
$images = mysql_query($images_sql);
echo'<div id="slides">';
echo '<div class="slides_container">';
while ($image=mysql_fetch_array($images))
{
echo "<img src='Images/PorteDoc2/".$image['nom']."' width='540' height='600' alt='".$image['titre']."' />";
}
echo '</div>';
echo '</div>'; ?>
就在php代码之后,我写了以下javascript:
<script type="text/javascript">
$(document).ready(function() {
$('#slides').slides({
preload: true,
preloadImage:'Images/img/loading.gif',
pagination: true,
fadeSpeed: 0,
slideSpeed: 0,
effect: 'slide, slide',
});
});
</script>
然后我调用页脚.php文件。谢谢
这个 http://jsfiddle.net/NNSqw/是执行我的意思的代码,它使用jquery和ajax,现在,解释html位非常简单,带有id="content"
的div将是您的内容将被加载到的地方。
现在到 JS/JQuery,每次用户按下链接时,带有id="content"
的div 的内容都会发生变化,您必须制作一个名为 get_images.php 的页面,并使其使用 php 代码$_GET['realisation'];
来获取点击的链接数量,然后从那里它将像您当前的页面:)一样工作。
对不起,我不擅长解释,但是,如果您希望我尝试进一步澄清它,请说:)
编辑:
在您的portfolio_english.php文件中,应该存在以下代码(我使用的是您网站的英文版本):
<span class="link" onClick="javascript: show_image('1')">Entreprise internationale 1</span><br>
<span class="link" onClick="javascript: show_image('2')">Entreprise internationale 2</span><br>
<span class="link" onClick="javascript: show_image('3')">Entreprise internationale 3</span><br>
<span class="link" onClick="javascript: show_image('4')">Entreprise internationale 4</span>
你应该有你的链接,旁边有一个onClick事件,引导他们到应该在页面头部的javascript函数:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
show_image(no){
$.ajax({
url: 'get_images.php?realisation='+no,
success: function(data) {
$('#content').html(data);
}
});
}
</script>
[... rest of header ...]
</head>
同样在该文件中,您应该具有当前显示图像的div
<div id="content">
</div>
get_image.php
在你的get_image.php你需要拥有你当前用来获取图像的东西,所以要把数字(例如 41)输入到你正在使用的 php 代码中,请使用:
<?php
$number = $_GET['realisation'];
[... Rest of php code to retrieve images ...]
?>
另外,如果您仍然不明白我要去哪里,请尝试阅读jquery文档,看看您是否更了解它,然后:http://api.jquery.com/jQuery.ajax/
好的,在进行任何真正的调查之前,让我们先解决一些问题。
-
将jQuery更新到最新版本(http://jquery.com/),那么你就不需要现在内置的缓动插件了。
-
与其绑定到 window.onload,不如使用正确的语法来使用 jQuery:
$(document).ready(function() {
$('#slides').slides({
preload: true,
preloadImage:'Images/img/loading.gif',
pagination: true,
fadeSpeed: 0,
slideSpeed: 0,
effect: 'slide, slide',
});
});
如果这没有任何好处,请制作一个非常小的测试页面,其中只有您与滑块一起使用的代码,并检查它是否仍然是一个问题。
老实说,我真的不知道为什么人们使用这些庞大的滑块插件,制作滑块是一项简单的小工作,需要不到 10 行 jQuery。
- 在Safari执行javascript之前对其进行修改
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- iOS Safari Javascript设置超时问题
- Javascript Cookies在Safari中不起作用
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- 导航到新url时,Javascript在Safari中不起作用
- 在Firefox上使用聚合物的javascript依赖关系的HTML导入困难;Safari
- JavaScript函数在Safari中有效,但在Firefox中找不到
- 可以't使用“;设“;Safari Javascript中的关键字
- html视频javascript播放方法在移动Safari中不起作用
- 在Safari上使用JavaScript获取IPv4地址
- 检测通过移动 Safari 中的 JavaScript 关闭浏览器选项卡
- JavaScript 在后台打开窗口,而不是在 Chrome 和 Safari 中打开前台
- 支持 JavaScript 的检查例程适用于 Chrome/Opera/IE,但不适用于 Firefox/Safari
- RGB 到 HEX JavaScript 函数在 Chrome 中工作,但不能在 Firefox 或 Safari 中工
- JavaScript中的简单正则表达式适用于所有浏览器,但Safari除外
- IPAD safari 浏览器不支持 window.open JavaScript 方法
- Javascript, Safari/iPhone 5 no Number object
- Packey-JavaScript:Safari渲染问题
- JavaScript Safari-SyntaxError:意外的令牌'>'