BlazorJavasccriptFunctions a package for using with Blazor. This is expanding functions used in JavaScript as:
- GetWindowsDimensionsAsync()
- GetBrowserLanguageAsync()
- GetDivInfoAsync("div id")
- ScrollToElementAsync("div id", scrollBehaviors)
- ShowAsync("div id", effect)
- HideAsync("div id", effect)
Tech
It is using Javascript and for just only Hide and Show is complementing with jQuery scipts.
Installation
-
Install Package
Install-Package BlazorJavasccriptFunctions -
Attach source file to the < head >
<script src="_content/BlazorJavasccriptFunctions/js/blazorjavascriptfuncs.min.js"></script> -
Add in "Setup.cs"
public void ConfigureServices(IServiceCollection services) { ... services.AddBlazorJavascriptFuncs(); ... }
Usage
Inject into the page
@using BlazorJavasccriptFunctions
@using BlazorJavasccriptFunctions.Models @*incase you are using enums*@
@inject IJavascriptFuncsService jsService;
-
GetWindowsDimensionsAsync()
Returns the dimensions of the browser:
- Width
- Height
- ScrollY
- ScrollX
var browserDimensions = await jsService.GetWindowsDimensionsAsync(); -
GetBrowserLanguageAsync()
Returns the language using in the browser as: 'en', 'es', 'zn'.
var browserLanguage = await jsService.GetBrowserLanguageAsync(); -
GetDivInfoAsync("div id")
Returns the dimensions and scroll info of a specific DIV by giving the ID. Returned data:
- ScrollLeft
- ScrollTop
- OffsetLeft
- OffsetTop
- OffsetWidth
- OffsetHeight.
It is very usefull when trying to catch user's beheviers in scrolling. Like scrolling to top or bottom, etc.
<DIV id="myDiv">...</DIV> @code { var myDivDimensions = await jsService.GetDivDimensions("myDiv"); } -
ScrollToElementAsync("div id", scrollBehaviors)
Move the browser's scroll to a specific Element in the page. With scrollBehaviors you can specify if it should stop at the end of the element or the begining
<DIV id="myDiv">...</DIV> @code { await jsService.ScrollToElementAsync("myDiv", ScrollBehaviors.Bottom); } -
ShowAsync("div id", effect)
The classical Show from jQuery. Wake up a hidden element in the page and even give it an effect.
<DIV id="myDiv">...</DIV> @code { await jsService.ShowAsync("myDiv", ShowHideEffects.Blind); } -
HideAsync("div id", effect)
The classical Hide from jQuery. Hide an element in the page and even give it an effect.
<DIV id="myDiv">...</DIV> @code { await jsService.HideAsync("myDiv", ShowHideEffects.Blind); }
