我需要创建一个响应式信息滑块,对于每张幻灯片,根据屏幕的大小,会有不同的信息量,但据我所知 - PHP和MySQL都不允许我选择基于数据的在屏幕尺寸上,我怎么能做到这一点呢?
我尝试使用JavaScript,但到目前为止并没有那么大的成功,我的想法是我可以使用JS来检测屏幕大小并且不会以某种方式将该信息发送到PHP然后可以相应地调整滑块,但是你可以请告诉我一些关于如何做到这一点的代码?
修改:我需要将其与此结合使用:How to divide array in parts (without using multidimensional arrays) with php?
因此滑块的工作原理如下:
<ul>
<li>content for slide 1</li>
<li>content for slide 2</li>
<li>content for slide 3</li>
</ul>
我无法使用jquery来隐藏某些内容,它必须适合内容相应的幻灯片。
答案 0 :(得分:0)
正如所有评论所说,这是不可能的。
PHP在服务器上执行。服务器不知道屏幕大小。有办法猜测它。
WURFL
和Tera-WURFL
项目(http://wurfl.sourceforge.net/和http://www.tera-wurfl.com/explore/)正在将用户代理与庞大的数据库进行比较,如果找到则返回给您设备的屏幕尺寸。这当然只适用于手机和平板电脑,不适用于笔记本电脑/台式机!
另一件事(我不建议你这样做!)将屏幕大小存储在PHP会话或Cookie中,通过Javascript的AJAX调用进行更新。正如我所说,我强烈建议你不要这样做!
您可以构建一个Mobile First
网站,这意味着它基本上会为移动格式加载必要的内容,并在页面加载后通过AJAX加载其他所有内容。你可以这样做,但这很麻烦,很快。
我建议你只需从数据库加载所需的所有数据(如果你关心速度,只需使用一些缓存,我在几个项目中使用这个类:https://github.com/khoaofgod/phpfastcache/)并隐藏/通过CSS中的媒体查询显示它(https://css-tricks.com/css-media-queries/)或者只是使用Javascript来为不同的屏幕尺寸呈现不同的东西(AngularJS非常适合这样做https://angularjs.org/)
我通常使用CSS媒体查询方法结合PHP方面的一些缓存。
关于数组的划分,我很确定你可以用一些CSS magik做到这一点!请查看:nth-child
https://css-tricks.com/how-nth-child-works/
希望这有帮助。
答案 1 :(得分:0)
只需获取最大屏幕尺寸的数据,然后使用CSS隐藏不应显示的数据。你可以使用媒体查询。