1584490020
A plugin to help you make intro screens to show the major features of your app. You can change the image, button, text style, color, and more things. Create intro screens is never been more quick and easy than this.
Add to pubspec.yaml file
dependencies:
intro_slider: ^1.0.8
Import
import 'package:intro_slider/intro_slider.dart';
|
class _MyAppState extends State<MyApp> {
List<Slide> slides = new List();
@override
void initState() {
super.initState();
slides.add(
new Slide(
title: "ERASER",
description: "Allow miles wound place the leave had. To sitting subject no improve studied limited",
pathImage: "images/photo_eraser.png",
backgroundColor: 0xfff5a623,
),
);
slides.add(
new Slide(
title: "PENCIL",
description: "Ye indulgence unreserved connection alteration appearance",
pathImage: "images/photo_pencil.png",
backgroundColor: 0xff203152,
),
);
slides.add(
new Slide(
title: "RULER",
description:
"Much evil soon high in hope do view. Out may few northward believing attempted. Yet timed being songs marry one defer men our. Although finished blessing do of",
pathImage: "images/photo_ruler.png",
backgroundColor: 0xff9932CC,
),
);
}
void onDonePress() {
// TODO: go to next screen
}
void onSkipPress() {
// TODO: go to next screen
}
@override
Widget build(BuildContext context) {
return new IntroSlider(
slides: this.slides,
onDonePress: this.onDonePress,
onSkipPress: this.onSkipPress,
);
}
}
class _MyAppState extends State<MyApp> {
List<Slide> slides = new List();
@override
void initState() {
super.initState();
slides.add(
new Slide(
title: "SCHOOL",
styleTitle:
TextStyle(color: Color(0xffD02090), fontSize: 30.0, fontWeight: FontWeight.bold, fontFamily: 'RobotoMono'),
description: "Allow miles wound place the leave had. To sitting subject no improve studied limited",
styleDescription:
TextStyle(color: Color(0xffD02090), fontSize: 20.0, fontStyle: FontStyle.italic, fontFamily: 'Raleway'),
pathImage: "images/photo_school.png",
backgroundColor: 0xFFFFDEAD,
),
);
slides.add(
new Slide(
title: "MUSEUM",
styleTitle:
TextStyle(color: Color(0xffD02090), fontSize: 30.0, fontWeight: FontWeight.bold, fontFamily: 'RobotoMono'),
description: "Ye indulgence unreserved connection alteration appearance",
styleDescription:
TextStyle(color: Color(0xffD02090), fontSize: 20.0, fontStyle: FontStyle.italic, fontFamily: 'Raleway'),
pathImage: "images/photo_museum.png",
backgroundColor: 0xffFFFACD,
),
);
slides.add(
new Slide(
title: "COFFEE",
styleTitle:
TextStyle(color: Color(0xffD02090), fontSize: 30.0, fontWeight: FontWeight.bold, fontFamily: 'RobotoMono'),
description:
"Much evil soon high in hope do view. Out may few northward believing attempted. Yet timed being songs marry one defer men our. Although finished blessing do of",
styleDescription:
TextStyle(color: Color(0xffD02090), fontSize: 20.0, fontStyle: FontStyle.italic, fontFamily: 'Raleway'),
pathImage: "images/photo_coffee_shop.png",
backgroundColor: 0xffFFF8DC,
),
);
}
void onDonePress() {
// TODO: go to next screen
}
void onSkipPress() {
// TODO: go to next screen
}
Widget renderNextBtn() {
return Icon(
Icons.navigate_next,
color: Color(0xffD02090),
size: 35.0,
);
}
Widget renderDoneBtn() {
return Icon(
Icons.done,
color: Color(0xffD02090),
);
}
Widget renderSkipBtn() {
return Icon(
Icons.skip_next,
color: Color(0xffD02090),
);
}
@override
Widget build(BuildContext context) {
return new IntroSlider(
// List slides
slides: this.slides,
// Skip button
renderSkipBtn: this.renderSkipBtn(),
onSkipPress: this.onSkipPress,
colorSkipBtn: 0x33000000,
highlightColorSkipBtn: 0xff000000,
// Next, Done button
onDonePress: this.onDonePress,
renderNextBtn: this.renderNextBtn(),
renderDoneBtn: this.renderDoneBtn(),
colorDoneBtn: 0x33000000,
highlightColorDoneBtn: 0xff000000,
// Dot indicator
colorDot: 0x33D02090,
colorActiveDot: 0xffD02090,
sizeDot: 13.0,
);
}
}
Name | Type | Default | Description |
---|---|---|---|
Title | |||
title | String |
“” | Change text title at top |
styleTitle | TextStyle |
White color, bold and font size is 30.0 | Style for text title |
marginTitle | EdgeInsets |
top: 70.0, bottom: 50.0 | Margin for text title |
Image | |||
pathImage | String |
“” | Path to your local image |
widthImage | double |
250.0 | Width of image |
heightImage | double |
250.0 | Height of image |
onImagePress | Function |
Do nothing | Fire when press image |
Description | |||
description | String |
“” | Change text description at bottom |
maxLineTextDescription | String |
100 | Maximum line of text description |
styleDescription | TextStyle |
White and font size is 18.0 | Style for text description |
marginDescription | EdgeInsets |
left, right = 20.0, top, bottom = 50.0 | Margin for text description |
Background | |||
backgroundColor | Color |
Color(0xfff5a623) | Background tab color |
colorBegin | Color |
null | Gradient tab color begin |
colorEnd | Color |
null | Gradient tab color end |
directionColorBegin | AlignmentGeometry |
null | Direction color begin |
directionColorEnd | AlignmentGeometry |
null | Direction color end |
Name | Type | Default | Description |
---|---|---|---|
Slide | |||
slides | Slide |
No default, required | An array of Slide object |
Skip Button | |||
renderSkipBtn | Widget |
Button with text SKIP | Render your own Skip button |
onSkipPress | Function |
Do nothing | Fire when press Skip button |
nameSkipBtn | String |
“SKIP” | Change SKIP to any text you want |
styleNameSkipBtn | TextStyle |
White color | Style for text at Skip button |
colorSkipBtn | Color |
transparent | Color for Skip button |
highlightColorSkipBtn | Color |
Color(0x4dffffff) | Color for Skip button when press |
isShowSkipBtn | bool |
true | Show or hide Skip button |
borderRadiusSkipBtn | double |
30.0 | Rounded Skip button |
Next Button | |||
renderNextBtn | Widget |
Button with text NEXT | Render your own Next button |
nameNextBtn | String |
“NEXT” | Change SKIP to any text you want |
borderRadiusNextBtn | double |
30.0 | Rounded Next button |
Done Button | |||
renderDoneBtn | Widget |
Button with text DONE | Render your own Done button |
onDonePress | Function |
Do nothing | Fire when press Skip button |
nameDoneBtn | String |
“DONE” | Style for text at Skip button |
styleNameDoneBtn | TextStyle |
White color | Color for Skip button |
colorDoneBtn | Color |
transparent | Color for Skip button when press |
highlightColorDoneBtn | Color |
Color(0x4dffffff) | Show or hide Skip button |
borderRadiusDoneBtn | double |
30.0 | Rounded Done button |
Dot Indicator | |||
isShowDotIndicator | bool |
true | Show or hide dot indicator |
colorDot | Color |
Color(0x80000000) | Color for dot when passive |
colorActiveDot | Color |
Color(0xffffffff) | Color for dot when active |
sizeDot | double |
8.0 | Size of each dot |
Author: duytq94
GitHub: https://github.com/duytq94/flutter-intro-slider
#flutter #dart #programming
1678535220
In this article, you will learn how to create an automatic image slider using HTML CSS, and JavaScript code. Earlier I shared with you many more types of manual and automatic image sliders. Like other designs, I hope you like this design.
Image slider is a common web element that is currently used in many websites. It is mainly used for the slideshow on the website’s homepage. This type of Auto Image Slideshow is also used to organize many images in a gallery. If you want to learn more about javascript, check out my best HTML, CSS, and javascript projects.
There are two types of image sliders, one automatic and the other manual. In the case of the automatic image slider, the image will change automatically at regular intervals. In the case of the manual, you need to change the image using the Next and Previous buttons.
In this case, the image can be changed automatically and manually. This means that it will automatically change the image and you can also change the image using the Next and Previs buttons separately.
The design can only be created with the help of HTML and CSS but in this case, I have used JavaScript programming code.
If you want to know how these automatic image slideshows work then you can watch the live demo below. Below I have given the source code so you can copy them if you want. You can also download the code using the download button at the bottom of the article.
As you can see in the demo above, this is a very simple image slider with automatic and manual image changes.
In this case, I have used a total of five images but you can use many more if you want. The image will change automatically every 5 seconds. There are also two buttons to change the image.
If you know basic HTML CSS and JavaScript then you can easily understand this design. To create this automatic image slider, first, you need to create an HTML and CSS file.
In this case, I did not create a separate JavaScript file, but you can create a separate file if you want.
I have used a little HTML and CSS code below to create the background of this slider. In this case, I have used the slider height 256 px and width 500 px.
I didn’t use any different colors in the background. If you have seen the demo, you will understand that a shadow has been used around this slide for which I have used box-shadow: 0 0 30px rgba(0, 0, 0, 0.3) here.
<div id=”slider”>
</div>
body {
margin: 10%;
}
#slider {
position: relative;
width: 500px;
height: 265px;
overflow: hidden;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
}
I have added images to this Automatic Image Slider using the code below and designed those images. I have used a total of five images you can increase or decrease as you wish.
If you take a closer look at the CSS code below, you will understand that I have used Slider Ul Width 10000%.
You may wonder why I used 10,000% here. Take a good look at the image below to understand why and how this slider works.
<ul id=”slideWrap”>
<li><img src=”img1.jpg” alt=””></li>
<li><img src=”img2.jpg” alt=””></li>
<li><img src=”img3.jpg” alt=””></li>
<li><img src=”img4.jpg” alt=””></li>
<li><img src=”img5.jpg” alt=””></li>
</ul>
In this case, the height of the image is 256 px and the width is 500 px. Of course in this case you will use the same size of each image.
#slider ul {
position: relative;
list-style: none;
height: 100%;
width: 10000%;
padding: 0;
margin: 0;
transition: all 750ms ease;
left: 0;
}
#slider ul li {
position: relative;
height: 100%;
float: left;
}
#slider ul li img{
width: 500px;
height: 265px;
}
Now we will add the Previs and Next buttons to this slider. The HTML and CSS code below helped to add and design these two buttons.
<a id=”prev” href=”#”>≪</a>
<a id=”next” href=”#”>≫</a>
#slider #prev, #slider #next {
width: 50px;
line-height: 50px;
border-radius: 50%;
font-size: 2rem;
text-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
text-align: center;
color: white;
text-decoration: none;
position: absolute;
top: 50%;
transform: translateY(-50%);
transition: all 150ms ease;
}
I have used a little CSS below to place these two buttons in their proper place. I kept the Previs button 10 pixels away from the left.
I kept the next button 10 px away from the right. As a result, these two buttons are located on either side of the slider.
#slider #prev {
left: 10px;
}
#slider #next {
right: 10px;
}
I have used the following CSS code to use a small amount of hover effect in the background of these two buttons.
#slider #prev:hover, #slider #next:hover {
background-color: rgba(0, 0, 0, 0.5);
text-shadow: 0;
}
So far we have only designed it, now we will implement the image change of this slider.
var responsiveSlider = function() {
var slider = document.getElementById(“slider”);
var sliderWidth = slider.offsetWidth;
var slideList = document.getElementById(“slideWrap”);
var count = 1;
var items = slideList.querySelectorAll(“li”).length;
var prev = document.getElementById(“prev”);
var next = document.getElementById(“next”);
window.addEventListener(‘resize’, function() {
sliderWidth = slider.offsetWidth;
});
First of all, we will decide in advance what kind of work will be done by clicking on the Next button. If you are a beginner then first of all look at the code structure below. Then follow the explanation below which will help you understand better.
var nextSlide = function() {
if(count < items) {
slideList.style.left = “-” + count * sliderWidth + “px”;
count++;
}
else if(count = items) {
slideList.style.left = “0px”;
count = 1;
}
};
As we have seen, in the nextSlide variable, we have stored how the Next button will work.
First, we added value if (count <items) this code will work when the amount of image is more than count.
Using else if (count = items) we have determined what will happen if the previous function does not work. If both the image and the count are equal then there will be no change in the slider.
‘count’ is the number of times you clicked on the button. If you click on that button once, the value of the count is one. If you click three times at once, the value of the account is 3.
We have decided what kind of change will happen if we click on the Next button. Now we will implement the previous button.
Similarly here we have determined what kind of effect will work if you click on the previous button.
var prevSlide = function() {
if(count > 1) {
count = count – 2;
slideList.style.left = “-” + count * sliderWidth + “px”;
count++;
}
else if(count = 1) {
count = items – 1;
slideList.style.left = “-” + count * sliderWidth + “px”;
count++;
}
};
Determining what kind of effect will work when clicking the previous and Next buttons in this Automatic Image Slider. Now we will associate those effects with two buttons.
As I said earlier, we have stored how the Next button will work in a constant called ‘next Slider’. Now below we have instructed that if you click on the Next button, that constant will work.
next.addEventListener(“click”, function() {
nextSlide();
});
We’ve saved what works on the previous button in the ‘prevSlide’. Now below we have instructed that if you click on the previous button, that constant will work.
prev.addEventListener(“click”, function() {
prevSlide();
});
Since this is an automatic image slider, in this case, I have arranged for the image to change automatically. Here I have used 5000 i.e. 5 seconds. This means the image will change every 5 seconds. If you want the images to change every 2 seconds, use 2000 instead of 5000 here.
setInterval(function() {
nextSlide()
}, 8000);
};
window.onload = function() {
responsiveSlider();
}
Hope you learned from this tutorial how I created this beautiful automatic image slider using HTML CSS and JavaScript code. If you want to download the required source code, you can use the download button below.
If you have any problem understanding how to make this auto image slider then you can definitely let me know by commenting.
Original article source at: https://foolishdeveloper.com/
1597014000
Flutter Google cross-platform UI framework has released a new version 1.20 stable.
Flutter is Google’s UI framework to make apps for Android, iOS, Web, Windows, Mac, Linux, and Fuchsia OS. Since the last 2 years, the flutter Framework has already achieved popularity among mobile developers to develop Android and iOS apps. In the last few releases, Flutter also added the support of making web applications and desktop applications.
Last month they introduced the support of the Linux desktop app that can be distributed through Canonical Snap Store(Snapcraft), this enables the developers to publish there Linux desktop app for their users and publish on Snap Store. If you want to learn how to Publish Flutter Desktop app in Snap Store that here is the tutorial.
Flutter 1.20 Framework is built on Google’s made Dart programming language that is a cross-platform language providing native performance, new UI widgets, and other more features for the developer usage.
Here are the few key points of this release:
In this release, they have got multiple performance improvements in the Dart language itself. A new improvement is to reduce the app size in the release versions of the app. Another performance improvement is to reduce junk in the display of app animation by using the warm-up phase.
If your app is junk information during the first run then the Skia Shading Language shader provides for pre-compilation as part of your app’s build. This can speed it up by more than 2x.
Added a better support of mouse cursors for web and desktop flutter app,. Now many widgets will show cursor on top of them or you can specify the type of supported cursor you want.
Autofill was already supported in native applications now its been added to the Flutter SDK. Now prefilled information stored by your OS can be used for autofill in the application. This feature will be available soon on the flutter web.
A new widget for interaction
InteractiveViewer
is a new widget design for common interactions in your app like pan, zoom drag and drop for resizing the widget. Informations on this you can check more on this API documentation where you can try this widget on the DartPad. In this release, drag-drop has more features added like you can know precisely where the drop happened and get the position.
In this new release, there are many pre-existing widgets that were updated to match the latest material guidelines, these updates include better interaction with Slider
and RangeSlider
, DatePicker
with support for date range and time picker with the new style.
pubspec.yaml
formatOther than these widget updates there is some update within the project also like in pubspec.yaml
file format. If you are a flutter plugin publisher then your old pubspec.yaml
is no longer supported to publish a plugin as the older format does not specify for which platform plugin you are making. All existing plugin will continue to work with flutter apps but you should make a plugin update as soon as possible.
Visual Studio code flutter extension got an update in this release. You get a preview of new features where you can analyze that Dev tools in your coding workspace. Enable this feature in your vs code by _dart.previewEmbeddedDevTools_
setting. Dart DevTools menu you can choose your favorite page embed on your code workspace.
The updated the Dev tools comes with the network page that enables network profiling. You can track the timings and other information like status and content type of your** network calls** within your app. You can also monitor gRPC traffic.
Pigeon is a command-line tool that will generate types of safe platform channels without adding additional dependencies. With this instead of manually matching method strings on platform channel and serializing arguments, you can invoke native class and pass nonprimitive data objects by directly calling the Dart
method.
There is still a long list of updates in the new version of Flutter 1.2 that we cannot cover in this blog. You can get more details you can visit the official site to know more. Also, you can subscribe to the Navoki newsletter to get updates on these features and upcoming new updates and lessons. In upcoming new versions, we might see more new features and improvements.
You can get more free Flutter tutorials you can follow these courses:
#dart #developers #flutter #app developed #dart devtools in visual studio code #firebase local emulator suite in flutter #flutter autofill #flutter date picker #flutter desktop linux app build and publish on snapcraft store #flutter pigeon #flutter range slider #flutter slider #flutter time picker #flutter tutorial #flutter widget #google flutter #linux #navoki #pubspec format #setup flutter desktop on windows
1678557120
在本文中,您将学习如何使用 HTML CSS 和 JavaScript 代码创建自动图像滑块。早些时候,我与您分享了更多类型的手动和自动图像滑块。和其他设计一样,我希望你喜欢这个设计。
图像滑块是一种常见的网络元素,目前在许多网站中使用。主要用于网站首页的幻灯片放映。这种类型的自动图像幻灯片还用于组织图库中的许多图像。如果您想了解有关 javascript 的更多信息,请查看我最好的HTML、CSS 和 javascript 项目。
有两种类型的图像滑块,一种是自动的,另一种是手动的。在自动图像滑块的情况下,图像将定期自动更改。对于手册,您需要使用“下一个”和“上一个”按钮更改图像。
在这种情况下,可以自动和手动更改图像。这意味着它会自动更改图像,您也可以 分别使用 Next 和 Previs 按钮更改图像 。
该设计只能在 HTML 和 CSS 的帮助下创建,但在这种情况下,我使用了 JavaScript 编程代码。
如果你想知道这些自动图像幻灯片是如何工作的,那么你可以观看下面的现场演示。下面我给出了源代码,所以你可以根据需要复制它们。您还可以使用文章底部的下载按钮下载代码。
正如您在上面的演示中看到的,这是一个非常简单的图像滑块,具有自动和手动图像更改功能。
在本例中,我总共使用了五张图片,但如果你愿意,你可以使用更多图片。图像将每 5 秒自动更改一次。还有两个按钮可以更改图像。
如果您了解基本的 HTML CSS 和 JavaScript,那么您可以轻松理解此设计。要创建这个自动图像滑块,首先,您需要创建一个 HTML 和 CSS 文件。
在本例中,我没有创建单独的 JavaScript 文件,但如果需要,您可以创建一个单独的文件。
我在下面使用了一些 HTML 和 CSS 代码来创建这个滑块的背景。在本例中,我使用的滑块高度为 256 像素,宽度为 500 像素。
我没有在背景中使用任何不同的颜色。如果你看过演示,你就会明白这张幻灯片周围使用了阴影,我在这里使用了 box-shadow: 0 0 30px rgba(0, 0, 0, 0.3)。
<div id=”slider”>
</div>
body {
margin: 10%;
}
#slider {
position: relative;
width: 500px;
height: 265px;
overflow: hidden;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
}
我使用下面的代码向这个自动图像滑块添加了图像并设计了这些图像。我一共使用了五张图片,你可以随意增减。
如果你仔细看看下面的 CSS 代码,你就会明白我使用了 Slider Ul Width 10000%。
你可能想知道为什么我在这里使用 10,000%。仔细查看下图,了解此滑块工作的原因和方式。
<ul id=”slideWrap”>
<li><img src=”img1.jpg” alt=””></li>
<li><img src=”img2.jpg” alt=””></li>
<li><img src=”img3.jpg” alt=””></li>
<li><img src=”img4.jpg” alt=””></li>
<li><img src=”img5.jpg” alt=””></li>
</ul>
在本例中,图像的高度为 256 像素,宽度为 500 像素。当然,在这种情况下,您将使用相同大小的每个图像。
#slider ul {
position: relative;
list-style: none;
height: 100%;
width: 10000%;
padding: 0;
margin: 0;
transition: all 750ms ease;
left: 0;
}
#slider ul li {
position: relative;
height: 100%;
float: left;
}
#slider ul li img{
width: 500px;
height: 265px;
}
现在我们将 Previs 和 Next 按钮添加到此滑块。下面的 HTML 和 CSS 代码有助于添加和设计这两个按钮。
<a id=”prev” href=”#”>≪</a>
<a id=”next” href=”#”>≫</a>
#slider #prev, #slider #next {
width: 50px;
line-height: 50px;
border-radius: 50%;
font-size: 2rem;
text-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
text-align: center;
color: white;
text-decoration: none;
position: absolute;
top: 50%;
transform: translateY(-50%);
transition: all 150ms ease;
}
我在下面使用了一些 CSS 将这两个按钮放在适当的位置。我将 Previs 按钮保持在距左侧 10 像素的位置。
我将下一个按钮保持在距离右侧 10 px 的位置。因此,这两个按钮位于滑块的两侧。
#slider #prev {
left: 10px;
}
#slider #next {
right: 10px;
}
我使用下面的 CSS 代码在这两个按钮的背景中使用了少量悬停效果。
#slider #prev:hover, #slider #next:hover {
background-color: rgba(0, 0, 0, 0.5);
text-shadow: 0;
}
到目前为止我们只是设计了它,现在我们来实现这个滑块的图像变化。
var responsiveSlider = function() {
var slider = document.getElementById(“slider”);
var sliderWidth = slider.offsetWidth;
var slideList = document.getElementById(“slideWrap”);
var count = 1;
var items = slideList.querySelectorAll(“li”).length;
var prev = document.getElementById(“prev”);
var next = document.getElementById(“next”);
window.addEventListener(‘resize’, function() {
sliderWidth = slider.offsetWidth;
});
首先,我们将通过单击“下一步”按钮来提前决定要完成什么样的工作。如果您是初学者,那么首先请看下面的代码结构。然后按照下面的说明进行操作,这将帮助您更好地理解。
var nextSlide = function() {
if(count < items) {
slideList.style.left = “-” + count * sliderWidth + “px”;
count++;
}
else if(count = items) {
slideList.style.left = “0px”;
count = 1;
}
};
正如我们所见,在 nextSlide 变量中,我们存储了 Next 按钮的工作方式。
首先,我们添加了 value if (count <items) 此代码将在图像数量超过 count 时起作用。
使用 else if (count = items) 我们已经确定了如果前面的函数不起作用会发生什么。如果图像和计数都相等,则滑块不会发生变化。
'count' 是您点击按钮的次数。如果您单击该按钮一次,则计数值为一。如果一次单击三次,则该帐户的值为 3。
我们已经决定了如果我们点击 Next 按钮将会发生什么样的变化。现在我们将实现上一个按钮。
类似地,我们已经确定了如果您单击上一个按钮会产生什么样的效果。
var prevSlide = function() {
if(count > 1) {
count = count – 2;
slideList.style.left = “-” + count * sliderWidth + “px”;
count++;
}
else if(count = 1) {
count = items – 1;
slideList.style.left = “-” + count * sliderWidth + “px”;
count++;
}
};
确定单击此自动图像滑块中的上一个和下一个按钮时将产生何种效果。现在我们将这些效果与两个按钮相关联。
正如我之前所说,我们已经将 Next 按钮的工作方式存储在名为“next Slider”的常量中。下面我们已经指示如果您单击“下一步”按钮,该常量将起作用。
next.addEventListener(“click”, function() {
nextSlide();
});
我们已经在“prevSlide”中保存了对上一个按钮起作用的内容。下面我们已经说明,如果您单击上一个按钮,该常量将起作用。
prev.addEventListener(“click”, function() {
prevSlide();
});
由于这是一个自动图像滑块,在这种情况下,我已安排图像自动更改。这里我使用了 5000 即 5 秒。这意味着图像将每 5 秒更改一次。如果您希望图像每 2 秒更改一次,请在此处使用 2000 而不是 5000。
setInterval(function() {
nextSlide()
}, 8000);
};
window.onload = function() {
responsiveSlider();
}
希望您从本教程中了解到我是如何使用 HTML CSS 和 JavaScript 代码创建这个漂亮的自动图像滑块的。如果您想下载所需的源代码,可以使用下面的下载按钮。
如果您对如何制作此自动图像滑块有任何疑问,那么您绝对可以通过评论让我知道。
文章原文出处:https: //foolishdeveloper.com/
1678560960
В этой статье вы узнаете, как создать автоматический слайдер изображений с помощью HTML CSS и кода JavaScript. Ранее я поделился с вами еще многими типами ручных и автоматических слайдеров изображений . Как и другие проекты, я надеюсь, вам понравится этот дизайн.
Слайдер изображений — это распространенный веб-элемент, который в настоящее время используется на многих веб-сайтах. Он в основном используется для слайд-шоу на главной странице сайта. Этот тип автоматического слайд-шоу изображений также используется для организации большого количества изображений в галерее. Если вы хотите узнать больше о javascript, ознакомьтесь с моими лучшими проектами HTML, CSS и javascript .
Существует два типа ползунков изображений: автоматический и ручной. В случае автоматического ползунка изображения изображение будет автоматически меняться через равные промежутки времени. В случае с мануалом менять изображение нужно с помощью кнопок Next и Previous.
При этом изображение можно менять автоматически и вручную. Это означает, что он автоматически изменит изображение, и вы также можете изменить изображение, используя кнопки «Далее» и «Предварительный просмотр» по отдельности.
Дизайн можно создать только с помощью HTML и CSS, но в данном случае я использовал программный код JavaScript.
Если вы хотите узнать, как работают эти автоматические слайд-шоу изображений , вы можете посмотреть живую демонстрацию ниже. Ниже я дал исходный код, так что вы можете скопировать их, если хотите. Вы также можете скачать код с помощью кнопки загрузки внизу статьи.
Как вы можете видеть в демо выше, это очень простой слайдер изображений с автоматической и ручной сменой изображений.
В этом случае я использовал в общей сложности пять изображений, но вы можете использовать гораздо больше, если хотите. Изображение будет меняться автоматически каждые 5 секунд. Также есть две кнопки для смены изображения.
Если вы знаете основы HTML, CSS и JavaScript, вы легко разберетесь в этом дизайне. Чтобы создать этот автоматический слайдер изображений, сначала вам нужно создать файл HTML и CSS.
В данном случае я не создавал отдельный файл JavaScript, но вы можете создать отдельный файл, если хотите.
Я использовал небольшой код HTML и CSS ниже, чтобы создать фон для этого слайдера. В этом случае я использовал ползунок высотой 256 пикселей и шириной 500 пикселей.
Я не использовал разные цвета фона. Если вы видели демонстрацию, вы поймете, что вокруг этого слайда была использована тень, для которой я использовал box-shadow: 0 0 30px rgba(0, 0, 0, 0.3) здесь.
<div id=”slider”>
</div>
body {
margin: 10%;
}
#slider {
position: relative;
width: 500px;
height: 265px;
overflow: hidden;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
}
Я добавил изображения в этот автоматический слайдер изображений, используя приведенный ниже код, и разработал эти изображения. Я использовал в общей сложности пять изображений, которые вы можете увеличивать или уменьшать по своему усмотрению.
Если вы внимательно посмотрите на приведенный ниже код CSS, вы поймете, что я использовал Slider Ul Width 10000%.
Вы можете задаться вопросом, почему я использовал здесь 10 000%. Внимательно посмотрите на изображение ниже, чтобы понять, почему и как работает этот ползунок.
<ul id=”slideWrap”>
<li><img src=”img1.jpg” alt=””></li>
<li><img src=”img2.jpg” alt=””></li>
<li><img src=”img3.jpg” alt=””></li>
<li><img src=”img4.jpg” alt=””></li>
<li><img src=”img5.jpg” alt=””></li>
</ul>
В этом случае высота изображения составляет 256 пикселей, а ширина — 500 пикселей. Конечно, в этом случае вы будете использовать одинаковый размер каждого изображения.
#slider ul {
position: relative;
list-style: none;
height: 100%;
width: 10000%;
padding: 0;
margin: 0;
transition: all 750ms ease;
left: 0;
}
#slider ul li {
position: relative;
height: 100%;
float: left;
}
#slider ul li img{
width: 500px;
height: 265px;
}
Теперь мы добавим к этому слайдеру кнопки Previs и Next. Приведенный ниже код HTML и CSS помог добавить и спроектировать эти две кнопки.
<a id=”prev” href=”#”>≪</a>
<a id=”next” href=”#”>≫</a>
#slider #prev, #slider #next {
width: 50px;
line-height: 50px;
border-radius: 50%;
font-size: 2rem;
text-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
text-align: center;
color: white;
text-decoration: none;
position: absolute;
top: 50%;
transform: translateY(-50%);
transition: all 150ms ease;
}
Я использовал небольшой CSS ниже, чтобы разместить эти две кнопки на своих местах. Я оставил кнопку «Предварительный просмотр» на расстоянии 10 пикселей от левого края.
Я оставил следующую кнопку на расстоянии 10 пикселей от правого края. В результате эти две кнопки расположены по обе стороны от ползунка.
#slider #prev {
left: 10px;
}
#slider #next {
right: 10px;
}
Я использовал следующий код CSS, чтобы использовать небольшой эффект наведения на фоне этих двух кнопок.
#slider #prev:hover, #slider #next:hover {
background-color: rgba(0, 0, 0, 0.5);
text-shadow: 0;
}
Пока мы его только оформили, теперь реализуем смену изображения этого слайдера.
var responsiveSlider = function() {
var slider = document.getElementById(“slider”);
var sliderWidth = slider.offsetWidth;
var slideList = document.getElementById(“slideWrap”);
var count = 1;
var items = slideList.querySelectorAll(“li”).length;
var prev = document.getElementById(“prev”);
var next = document.getElementById(“next”);
window.addEventListener(‘resize’, function() {
sliderWidth = slider.offsetWidth;
});
Прежде всего, мы заранее определимся, какая работа будет выполнена, нажав на кнопку «Далее». Если вы новичок, то прежде всего посмотрите на структуру кода ниже. Затем следуйте приведенным ниже объяснениям, которые помогут вам лучше понять.
var nextSlide = function() {
if(count < items) {
slideList.style.left = “-” + count * sliderWidth + “px”;
count++;
}
else if(count = items) {
slideList.style.left = “0px”;
count = 1;
}
};
Как мы видели, в переменной nextSlide мы сохранили, как будет работать кнопка «Далее».
Во-первых, мы добавили значение if (count <items), этот код будет работать, когда количество изображений больше, чем count.
С помощью else if (count = items) мы определили, что произойдет, если предыдущая функция не сработает. Если и изображение, и количество одинаковы, то слайдер не изменится.
'count' - это количество раз, когда вы нажали на кнопку. Если вы нажмете на эту кнопку один раз, значение счетчика будет равно единице. Если вы нажмете три раза одновременно, значение учетной записи равно 3.
Мы решили, какие изменения произойдут, если мы нажмем кнопку «Далее». Теперь мы реализуем предыдущую кнопку.
Точно так же здесь мы определили, какой эффект будет работать, если вы нажмете на предыдущую кнопку.
var prevSlide = function() {
if(count > 1) {
count = count – 2;
slideList.style.left = “-” + count * sliderWidth + “px”;
count++;
}
else if(count = 1) {
count = items – 1;
slideList.style.left = “-” + count * sliderWidth + “px”;
count++;
}
};
Определение того, какой эффект будет работать при нажатии кнопок «Назад» и «Далее» в этом автоматическом слайдере изображений. Теперь мы свяжем эти эффекты с двумя кнопками.
Как я уже говорил ранее, мы сохранили то, как кнопка «Далее» будет работать, в константе под названием «следующий слайдер». Теперь ниже мы указали, что если вы нажмете кнопку «Далее», эта константа будет работать.
next.addEventListener(“click”, function() {
nextSlide();
});
Мы сохранили то, что работает на предыдущей кнопке, в «prevSlide». Теперь ниже мы указали, что если вы нажмете на предыдущую кнопку, эта константа будет работать.
prev.addEventListener(“click”, function() {
prevSlide();
});
Поскольку это автоматический слайдер изображений , в данном случае я устроил автоматическое изменение изображения. Здесь я использовал 5000 т.е. 5 секунд. Это означает, что изображение будет меняться каждые 5 секунд. Если вы хотите, чтобы изображения менялись каждые 2 секунды, используйте здесь 2000 вместо 5000.
setInterval(function() {
nextSlide()
}, 8000);
};
window.onload = function() {
responsiveSlider();
}
Надеюсь, вы узнали из этого урока, как я создал этот красивый автоматический слайдер изображений , используя код HTML CSS и JavaScript. Если вы хотите загрузить необходимый исходный код, вы можете использовать кнопку загрузки ниже.
Если у вас есть какие-либо проблемы с пониманием того, как сделать этот автоматический слайдер изображений, вы обязательно можете сообщить мне об этом в комментариях.
Original article source at: https://foolishdeveloper.com/
1622532470
Hire Flutter App Developers: WebClues Infotech is a Flutter App Development company. Our Flutter mobile app development team can create cross-platform apps for different industry verticals. Our Flutter developers will help you extend your business’s scope by developing enhanced functionality and a feature-rich app. To provide a rich user experience to your users, hire dedicated Flutter app developers from WebClues Infotech today!
#hire flutter app developers #hire dedicated flutter app developer usa #hire flutter app developer usa #hire dedicated flutter app developer #hire flutter developer #flutter app development company